【发布时间】:2014-07-29 08:39:24
【问题描述】:
我想从 Javascript 客户端(主要是智能手机)使用 vertx 事件总线。我的问题是当我将手机发送到待机状态时,事件总线会在几秒钟后断开连接,并且在唤醒后不会重新连接。我尝试在 eventbus onclose() 中重新连接,但它并不总是有效。有什么想法吗?
【问题讨论】:
标签: javascript vert.x
我想从 Javascript 客户端(主要是智能手机)使用 vertx 事件总线。我的问题是当我将手机发送到待机状态时,事件总线会在几秒钟后断开连接,并且在唤醒后不会重新连接。我尝试在 eventbus onclose() 中重新连接,但它并不总是有效。有什么想法吗?
【问题讨论】:
标签: javascript vert.x
此功能已添加到 vert.x 的工作版本中,但尚未正式发布。但是,您可以导入和使用vertx-eventbus.js:
https://github.com/vert-x3/vertx-web/pull/660
在初始化 EventBus 之后,例如var eb = new EventBus("/eventbus");,你可以用eb.enableReconnect(true);启用它
【讨论】:
与其只尝试重新连接一次,不如尝试循环重新连接:
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 上没有(重新)连接方法来调用,也没有默认的自动重新连接策略。很遗憾,但我相信开发团队会很乐意接受这张票。
【讨论】: