Vertx事件总线重新连接

时间:2014-06-08 18:41:12

标签: javascript vert.x

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

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

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

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

启用它