我使用spring-boot-starter-websocket和spring boot 1.5.3.RELEASE当sockjs试图执行心跳时,我得到大量日志任务不知怎的,连接丢失了. 这篇文章说它已关闭(根据JIRA),但我仍然遇到同样的问题
这是我的配置
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Bean
WebSocketHandler getWsHandler() {
return new WebSocketHandler();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();
} }
Run Code Online (Sandbox Code Playgroud)
这是日志
2017-07-11 15:10:23.753 INFO 7574 --- [MessageBroker-4] o.apache.coyote.http11.Http11Processor:在非容器线程上处理时发生错误.连接将立即关闭
java.io.IOException:sun.nio.ch.FileDispatcherImpl.write0(本机方法)〜[na:1.8.0]在sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)〜[na :1.8.0] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)〜[na:1.8.0] at sun.nio.ch.IOUtil.write(IOUtil.java:65)〜[na :1.8.0] at .nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)〜[na:1.8.0] at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134 )〜[tomcat-embed-core-8.5.14.jar:8.5.14]在org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)〜[tomcat-embed-core-8.5. 14.jar:8.5.14]在org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org. org.apache.tomcat.util.net.SocketWrapperBase上的apache.tomcat.util.net.NioEndpoint $ NioSocketWrapper.doWrite(NioEndpoint.java:1259)~ [tomcat-embed-core-8.5.14.jar:8.5.14] org.apache.tomcat中的.doWrite(SocketWrapperBase.java:670)~ [tomcat-embed-core-8.5.14.jar:8.5.14] .util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:607)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase. java:597)〜[tomcat-embed-core-8.5.14.jar:8.5.14] at org.apache.coyote.http11.Http11OutputBuffer.flushBuffer(Http11OutputBuffer.java:581)~ [tomcat-embed-core-8.5 .14.jar:8.5.14]在org.apache的org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:272)〜[tomcat-embed-core-8.5.14.jar:8.5.14] orco.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:279) 〜[tomcat-embed-core-8.5.14.jar:8.5.14] …