i'd like to introduce new ext direct library written in java.

featues:
  • simple usage
  • fast method search
  • java exception support
  • bean arguments support
  • argument polymorphism support
more infomation you can find on http://bitbucket.org/cattus/hqextdirect/

simple example:
Code:
import hqextdirect.AmbiguousMethod;
import hqextdirect.Dispatcher;
import hqextdirect.Router;

import javax.servlet.http.HttpServletRequest;



class TestAction
{
  public Integer multiply(Integer a, Integer b)
  {
    return a * b;
  }
}



public class TestRouter
  extends Router
{
  private final Dispatcher dispatcher;

  public TestRouter()
  {
    dispatcher = new Dispatcher();

    try {
          // this adds all public methods of TestAction class
          // to the dispatcher
      dispatcher.setAction("TestAction", new TestAction());
    } catch (AmbiguousMethod ambigousMethod) {
      // empty
    }
  }
  
  protected synchronized Dispatcher getDispatcher
      (HttpServletRequest request)
  {
    return dispatcher;
  }
}
TestRouter is servlet. on GET request it is show description like
Code:
{"actions" :
    {"TestAction" :
        [{"len" : 2
        ,"name" : "multiply"}]}
    ,"url"  : "/TestRouter"
    ,"type" : "remoting" };
on POST request it do dispatch