Urb*_*leg 3 java spring stomp websocket
我们在stomp和sockjs上使用带有tomcat 7的弹簧腹板.我们的日志中包含以下错误:
[WEBAPP] 16 Aug 2015 08:11:24 ERROR StompBrokerRelayMessageHandler - Failed to forward DISCONNECT session=7ufvyfvf
[WEBAPP] 16 Aug 2015 08:13:47 ERROR StompBrokerRelayMessageHandler - Failed to forward DISCONNECT session=d017bxnq
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?我们如何删除\缓解这个?
对不起,我有点晚了.然而,遇到了相同/类似的问题.我猜你正在使用像rabbitmq这样的留言经纪人.
ERROR StompBrokerRelayMessageHandler:584 - TCP connection failure in session uwdglayp: Transport failure: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
有时它是前向故障,通常是连接故障.
我做了什么?在将日志记录级别更改为debug之后,我发现spring应用程序向messagebroker发送了两条DISCONNECT消息.
在客户端调用stomp.disconnect()会导致发送DISCONNECT消息(STOMP)并关闭套接字(socketJS).
StompBrokerRelayMessageHandler向Broker通知DISCONNECT消息并另外发送DISCONNECT,因为套接字由客户端关闭,都是异步的.Spring无法捕获第二个断开连接,第二个断开连接将发生错误.
什么指定STOMP?(DISCONNECT SPEC)
客户端可以通过关闭套接字随时断开与服务器的连接,但不保证服务器已接收到先前发送的帧
我的解决方案:修改STOMP客户端,只关闭套接字而不发送DISCONNECT消息(客户端将关闭套接字)
另一个解决方案:只发送一个DISCONNECT消息(spring将关闭套接字)
我将检查STOMP的其他实现以找到更好的解决方案.
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |