2
的Tomcat v7.0.54
大气服务器V2.2.3(@ManagedService注解类)
- 大气Wasync客户端v1.4.0
我们有两个服务器实例其中一个使用@ManagedService注释提供端点,另一个使用Wasync lib作为客户端连接到它。 服务器客户端需要连接在任何时候都是持久的,并且不同的用例使得这有点具有挑战性。
我们的主要问题用例有:
- 连接丢弃,因为网络中断或服务器已关闭。
- 客户端服务器已启动,但服务器端点尚未启动。
所以我们需要一种方法在这些情况下使客户端动态化。
IE:
- WebSocket的客户端连接到端点。
- 服务器停机维护。
- 客户端尝试每xx秒重新连接一次。
- 服务器开始正常备份。
- 在下次重新连接尝试时,客户端已连接。
首先,我们尝试使用内置在Wasync提供没有骰子重新连接选项:
OptionsBuilder<DefaultOptions, DefaultOptionsBuilder> optBuilder = wsAuthClient.newOptionsBuilder()
.reconnect(true)
.pauseBeforeReconnectInSeconds(10);
监听器:
}).on(Event.REOPENED, new Function<String>() {
@Override
public void on(String t) {
logger.info("Re-opened connection to server.");
}
基于我读过在文档中,当连接被@ManagedService特意关闭时,这会被触发吗?
有没有人遇到过这些类型的用例并且有解决方案?
弄来为什么'REOPENED'事件处理程序不会被调用?并且服务器还发送了客户端未收到的消息。 – manikanta
@manikanta对不起,我很长一段时间没有在这个项目上工作过。我非常肯定,团队完全转向了不同的框架/解决方案。干杯! – proulxs