From 58d02f6471f7ea86b9539ce9a9281d1ef64861dd Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Tue, 21 Mar 2017 12:32:42 +0800 Subject: [PATCH] --- .../redkale/net/sncp/SncpAsyncHandler.java | 1 + src/org/redkale/net/sncp/SncpDynServlet.java | 55 +++++++++++++++++-- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/org/redkale/net/sncp/SncpAsyncHandler.java b/src/org/redkale/net/sncp/SncpAsyncHandler.java index 7541e9ff6..3d5d2012e 100644 --- a/src/org/redkale/net/sncp/SncpAsyncHandler.java +++ b/src/org/redkale/net/sncp/SncpAsyncHandler.java @@ -20,6 +20,7 @@ import org.redkale.util.AsyncHandler; */ public abstract class SncpAsyncHandler implements AsyncHandler { + //为了在回调函数中调用_callParameter方法 protected Object[] params; public Object[] getParams() { diff --git a/src/org/redkale/net/sncp/SncpDynServlet.java b/src/org/redkale/net/sncp/SncpDynServlet.java index 3be629242..74b23852f 100644 --- a/src/org/redkale/net/sncp/SncpDynServlet.java +++ b/src/org/redkale/net/sncp/SncpDynServlet.java @@ -187,17 +187,25 @@ public final class SncpDynServlet extends SncpServlet { /** *
          *  public class TestService implements Service {
+         *
          *      public boolean change(TestBean bean, String name, int id) {
-         *
+         *          return false;
          *      }
-         *  }
          *
-         *  public class DynActionTestService_change extends SncpServletAction {
+         *      public void insert(AsyncHandler<Boolean, TestBean> handler, TestBean bean, String name, int id) {
+         *      }
+         *
+         *      public void update(long show, short v2, AsyncHandler<Boolean, TestBean> handler, TestBean bean, String name, int id) {
+         *      }
+         * }
+         *
+         *
+         * class DynActionTestService_change extends SncpServletAction {
          *
          *      public TestService service;
          *
-         *      @Override
-         *      public void action(final BsonReader in, final BsonWriter out) throws Throwable {
+         *      @Override
+         *      public void action(BsonReader in, BsonWriter out, SncpAsyncHandler handler) throws Throwable {
          *          TestBean arg1 = convert.convertFrom(paramTypes[1], in);
          *          String arg2 = convert.convertFrom(paramTypes[2], in);
          *          int arg3 = convert.convertFrom(paramTypes[3], in);
@@ -205,7 +213,42 @@ public final class SncpDynServlet extends SncpServlet {
          *          _callParameter(out, arg1, arg2, arg3);
          *          convert.convertTo(out, paramTypes[0], rs);
          *      }
-         *  }
+         * }
+         *
+         * class DynActionTestService_insert extends SncpServletAction {
+         *
+         *      public TestService service;
+         *
+         *      @Override
+         *      public void action(BsonReader in, BsonWriter out, SncpAsyncHandler handler) throws Throwable {
+         *          SncpAsyncHandler arg0 = handler;
+         *          convert.convertFrom(AsyncHandler.class, in);
+         *          TestBean arg1 = convert.convertFrom(paramTypes[2], in);
+         *          String arg2 = convert.convertFrom(paramTypes[3], in);
+         *          int arg3 = convert.convertFrom(paramTypes[4], in);
+         *          handler.setParams(arg0, arg1, arg2, arg3);
+         *          service.insert(arg0, arg1, arg2, arg3);
+         *       }         
+         * }
+         *
+         * class DynActionTestService_update extends SncpServletAction {
+         *
+         *      public TestService service;
+         *
+         *      @Override
+         *      public void action(BsonReader in, BsonWriter out, SncpAsyncHandler handler) throws Throwable {
+         *          long a1 = convert.convertFrom(paramTypes[1], in);
+         *          short a2 = convert.convertFrom(paramTypes[2], in);
+         *          SncpAsyncHandler a3 = handler;
+         *          convert.convertFrom(AsyncHandler.class, in);
+         *          TestBean arg1 = convert.convertFrom(paramTypes[4], in);
+         *          String arg2 = convert.convertFrom(paramTypes[5], in);
+         *          int arg3 = convert.convertFrom(paramTypes[6], in);
+         *          handler.setParams(a1, a2, a3, arg1, arg2, arg3);
+         *          service.update(a1, a2, a3, arg1, arg2, arg3);
+         *      }         
+         * }
+         * 
          * 
* * @param service Service