0
저는 Vertex SockJs로 Eventbus Bridge를 구축했습니다. 이 ClientHtml의 코드SockJs Eventbus Bridge : Verticle을 다시 시작하면 ClientHtml을 다시 시작해야합니까?
@Override
public void start() throws Exception {
Router router = Router.router(vertx);
SockJSHandler sockJSHandler = SockJSHandler.create(vertx);
BridgeOptions options = new BridgeOptions();
options.addInboundPermitted(new PermittedOptions().setAddress("test"));
options.addOutboundPermitted(new PermittedOptions().setAddress("test"));
options.addInboundPermitted(new PermittedOptions().setAddress("test2"));
options.addOutboundPermitted(new PermittedOptions().setAddress("test2"));
sockJSHandler.bridge(options);
router.route("/eventbus/*").handler(sockJSHandler);
vertx.createHttpServer().requestHandler(router::accept).listen(8600);
vertx.setTimer(5000, id -> {
vertx.eventBus().send("test", "hallo!", async -> {
if (async.succeeded()) {
System.out.println("Success!");
} else {
System.out.println("Failure!");
System.out.println(async.cause());
}
});
System.out.println("SEND!");
});
}
입니다 :
이
내 verticle의 코드 지금var eb = new EventBus('http://localhost:8600/eventbus');
eb.onError=function() {
console.log('error');
}
eb.onopen = function() {
console.log('connected');
// set a handler to receive a message
eb.registerHandler('test', function(error, message) {
console.log('received a message: ' + JSON.stringify(message));
$("#text").html(JSON.stringify(message));
});
eb.registerHandler('test2', function(error, message) {
console.log('received a message: ' + JSON.stringify(message));
console.log("Error: "+error);
$("#text2").html(JSON.stringify(message));
});
}
eb.onclose = function() {
console.log("disconnected");
eb = null;
};
무엇 임 우려에 대한 내 verticle가와의 연결을 생성
후
클라이언트, 모두 괜찮습니다. 그러나 Im이 나의 verticle Im을 재시동 할 때NO_HANDLER
오류가 발생했을 때, Eventbus의 새로운 인스턴스가 없기 때문에? 이 문제를 처리 할 수있는 방법이 있습니까?
, 당신은 https://github.com/vert-x3/issues/issues/152 – tsegismont
은 감사 수행 할 수 있습니다이 GitHub의 문제가, 당신의 예는 나를 매우 도움이 !! : -))) – user3133542