This commit is contained in:
Redkale
2017-03-22 16:42:54 +08:00
parent 2c96f991d5
commit 9e7999da0f
4 changed files with 52 additions and 15 deletions

View File

@@ -43,6 +43,7 @@ public class ABMainService implements Service {
//------------------------ 初始化 CService ------------------------------------
CService cservice = Sncp.createLocalService("", null, ResourceFactory.root(), CService.class, new InetSocketAddress("127.0.0.1", 5577), null, null);
SncpServer cserver = new SncpServer();
cserver.getLogger().setLevel(Level.WARNING);
cserver.addSncpServlet(new ServiceWrapper(cservice, "", "", new HashSet<>(), null));
cserver.init(DefaultAnyValue.create("port", 5577));
cserver.start();
@@ -54,6 +55,7 @@ public class ABMainService implements Service {
factory.inject(remoteCService);
factory.register("", remoteCService);
SncpServer bcserver = new SncpServer();
bcserver.getLogger().setLevel(Level.WARNING);
bcserver.addSncpServlet(new ServiceWrapper(bcservice, "", "", new HashSet<>(), null));
bcserver.init(DefaultAnyValue.create("port", 5588));
bcserver.start();
@@ -66,6 +68,7 @@ public class ABMainService implements Service {
factory.register("", remoteBCService);
HttpServer server = new HttpServer();
server.getLogger().setLevel(Level.WARNING);
server.addRestServlet("", ABMainService.class, service, DefaultRestServlet.class, "/pipes");
@@ -93,9 +96,6 @@ public class ABMainService implements Service {
}
public static void main(String[] args) throws Throwable {
Logger.getLogger(Server.class.getSimpleName()).setLevel(Level.WARNING);
Logger.getLogger(HttpServer.class.getSimpleName()).setLevel(Level.WARNING);
Logger.getLogger(SncpServer.class.getSimpleName()).setLevel(Level.WARNING);
System.out.println("------------------- 本地模式调用 -----------------------------------");
final int abport = 8888;
ResourceFactory factory = ResourceFactory.root();
@@ -109,6 +109,7 @@ public class ABMainService implements Service {
factory.inject(service);
HttpServer server = new HttpServer();
server.getLogger().setLevel(Level.WARNING);
server.addRestServlet("", ABMainService.class, service, DefaultRestServlet.class, "/pipes");
@@ -189,6 +190,11 @@ public class ABMainService implements Service {
@Override
public void failed(Throwable exc, Void attachment) {
}
@Override
public int id2() {
return 2;
}
}, name);
}
}

View File

@@ -6,7 +6,7 @@
package org.redkale.test.service;
import javax.annotation.Resource;
import org.redkale.service.Service;
import org.redkale.service.*;
import org.redkale.util.AsyncHandler;
/**
@@ -33,14 +33,29 @@ public class BCService implements Service {
if (handler != null) handler.failed(t, a);
}), name);
}
public void bcCurrentTime(final MyAsyncHandler<String, Void> handler, final String name) {
cService.ccCurrentTime(AsyncHandler.create((v, a) -> {
System.out.println("执行了 BCService.bcCurrentTime----异步方法2");
String rs = "异步bcCurrentTime: " + (v == null ? null : v.getResult());
if (handler != null) handler.completed(rs, null);
}, (t, a) -> {
if (handler != null) handler.failed(t, a);
}), name);
cService.mcCurrentTime(new MyAsyncHandler<RetResult<String>, Void>() {
@Override
public int id() {
return 1;
}
@Override
public void completed(RetResult<String> v, Void a) {
System.out.println("执行了 BCService.bcCurrentTime----异步方法2");
String rs = "异步bcCurrentTime: " + (v == null ? null : v.getResult());
if (handler != null) handler.completed(rs, null);
}
@Override
public void failed(Throwable exc, Void attachment) {
}
@Override
public int id2() {
return 2;
}
}, name);
}
}

View File

@@ -5,15 +5,13 @@
*/
package org.redkale.test.service;
import org.redkale.util.AsyncHandler;
/**
*
* @author zhangjx
* @param <V> V
* @param <A> A
*/
public abstract class MyAsyncHandler<V, A> implements AsyncHandler<V, A> {
public abstract class MyAsyncHandler<V, A> extends MyAsyncInnerHandler<V, A> {
public abstract int id();

View File

@@ -0,0 +1,18 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.redkale.test.service;
import org.redkale.util.AsyncHandler;
/**
*
* @author zhangjx
*/
public abstract class MyAsyncInnerHandler<V, A> implements AsyncHandler<V, A> {
protected abstract int id2();
}