2014-06-08 64 views
2

我想从Javascript客户端(主要是智能手机)使用vertx事件总线。我的问题是,当我将手机发送到待机状态时,事件总线会在几秒后断开连接,并且在唤醒后不会重新连接。我尝试在eventbus onclose()中重新连接,但它并不总是有效。有任何想法吗?Vertx事件总线重新连接

回答

1

,而不是试图重新连接只有一次,你为什么不尝试在一个循环中重新连接:

eventBus.onclose = function { 
while(state != vertx.EventBus.OPEN) { 
    setInterval(function(){ 
     // Recreate an eventbus object and re-register all callbacks included this one 
     initialiseEventbus() 
    },3000); 
} 
} 

上面是不是最完美的解决方案,但不幸的是没有(重新)连接方法调用在vertxbus.js上,也不是默认的自动重新连接策略。这真是一个遗憾,但我相信开发团队会很乐意接受这张票。

1

此功能已添加到vert.x的工作版本,但尚未正式发布。但是,您可以导入和使用vertx-eventbus.js

https://github.com/vert-x3/vertx-web/pull/660

后您初始化例如在EventBus var eb = new EventBus("/eventbus");,您可以使用eb.enableReconnect(true);