Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java StompBrokerRelayMessageHandler-许多日志错误_Java_Spring_Websocket_Stomp - Fatal编程技术网

Java StompBrokerRelayMessageHandler-许多日志错误

Java StompBrokerRelayMessageHandler-许多日志错误,java,spring,websocket,stomp,Java,Spring,Websocket,Stomp,我们使用SpringWebSockets和Tomcat7搭配stomp和sockjs。 我们的日志中包含以下错误: [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 t

我们使用SpringWebSockets和Tomcat7搭配stomp和sockjs。 我们的日志中包含以下错误:

[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

你知道为什么吗?我们如何才能消除\缓解这种情况?

对不起,我来晚了一点。然而,他们面临着同样/类似的问题。我猜您正在使用rabbitmq这样的messagebroker

ERROR StompBrokerRelayMessageHandler:584 - TCP connection failure in session uwdglayp: Transport failure: Connection reset by peer
有时是正向故障,通常是连接故障

我做了什么?在将日志记录级别更改为debug之后,我发现spring应用程序向messagebroker发送了两条断开连接的消息

在客户端调用stomp.disconnect()会导致发送一条断开连接消息(stomp)并关闭套接字(socketJS)

StompBrokerRelayMessageHandler将断开连接消息通知代理,并另外发送一个断开连接,因为套接字已由客户端关闭,两者都是异步的。Spring不可能捕捉到第二次断开,并且第二次断开将发生错误

什么是跺脚?()

客户端可以通过关闭套接字随时断开与服务器的连接,但不能保证服务器已接收到以前发送的帧

我的解决方案: 修改STOMP客户端,只需关闭套接字而不发送断开连接消息(客户端将关闭套接字)

另一个解决方案: 仅发送断开消息(弹簧将关闭插座)

我将检查STOMP的其他实现,以找到更好的解决方案