Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 Springboot 2.2.11 websocket连接问题_Java_Spring_Spring Boot_Websocket - Fatal编程技术网

Java Springboot 2.2.11 websocket连接问题

Java Springboot 2.2.11 websocket连接问题,java,spring,spring-boot,websocket,Java,Spring,Spring Boot,Websocket,在我将SpringBoot从2.2.10更新到2.2.11之后,如果我尝试连接我的客户机,我总是会收到ConnectionLostException 以下是我的测试课程的一部分: @BeforeEach() public void setup() throws InterruptedException, ExecutionException, TimeoutException { URL = "ws://localhost:" + port + &

在我将SpringBoot从2.2.10更新到2.2.11之后,如果我尝试连接我的客户机,我总是会收到ConnectionLostException

以下是我的测试课程的一部分:

    @BeforeEach()
    public void setup() throws InterruptedException, ExecutionException, TimeoutException {
      URL = "ws://localhost:" + port + "/notifications";
      WebSocketStompClient stompClient = new WebSocketStompClient(new 
      SockJsClient(createTransportClient()));
      stompClient.setMessageConverter(new SimpleMessageConverter());

      stompSession = stompClient.connect(URL, new StompSessionHandlerAdapter() {
      }).get(3, SECONDS);
   }
这是堆栈跟踪:

java.util.concurrent.ExecutionException: org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed

at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:205)
at org.springframework.util.concurrent.SettableListenableFuture.get(SettableListenableFuture.java:134)
at de.psb_gmbh.selektron.apigateway.NotificationControllerTest.setup(NotificationControllerTest.java:54)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed
at org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(DefaultStompSession.java:518)
at org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(WebSocketStompClient.java:352)
at org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(WebSocketHandlerDecorator.java:85)
at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(LoggingWebSocketHandlerDecorator.java:72)
at org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.afterTransportClosed(AbstractClientSockJsSession.java:350)
at org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.afterConnectionClosed(WebSocketTransport.java:173)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onClose(StandardWebSocketHandlerAdapter.java:145)
at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:556)
at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:502)
at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:460)
at org.apache.tomcat.websocket.WsSession.close(WsSession.java:447)
at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.closeInternal(StandardWebSocketSession.java:235)
at org.springframework.web.socket.adapter.AbstractWebSocketSession.close(AbstractWebSocketSession.java:142)
at org.springframework.web.socket.sockjs.client.WebSocketClientSockJsSession.disconnect(WebSocketClientSockJsSession.java:127)
at org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.closeInternal(AbstractClientSockJsSession.java:213)
at org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.silentClose(AbstractClientSockJsSession.java:190)
at org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.handleCloseFrame(AbstractClientSockJsSession.java:322)
at org.springframework.web.socket.sockjs.client.AbstractClientSockJsSession.handleFrame(AbstractClientSockJsSession.java:233)
at org.springframework.web.socket.sockjs.client.WebSocketTransport$ClientSockJsWebSocketHandler.handleTextMessage(WebSocketTransport.java:163)
at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:114)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:43)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:85)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82)
at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:402)
at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:502)
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:301)
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
at org.apache.tomcat.websocket.WsFrameClient.processSocketRead(WsFrameClient.java:95)
at org.apache.tomcat.websocket.WsFrameClient.resumeProcessing(WsFrameClient.java:212)
at org.apache.tomcat.websocket.WsFrameClient.access$500(WsFrameClient.java:31)
at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.doResumeProcessing(WsFrameClient.java:189)
at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:163)
at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:148)
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127)
at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:219)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
同样,我唯一改变的是将spring boot更新为2.2.11版。 我没有发现在SpringBoot2.2.11中websocket处理发生了变化

编辑: 如果我运行angular web应用程序,我会在控制台中收到以下消息:

到“ws://localhost:4200/sockjs node/589/savha4qo/WebSocket”的WebSocket连接失败:WebSocket在建立连接之前已关闭

编辑2: 状态代码是1002

编辑3:
问题是,我还使用了SpringCloudStarterSleuth中的org.springframework.cloud。如果我把它取下来,一切正常。但是我也需要它。

试着从项目依赖项中排除不必要的lib,正如您在编辑中提到的那样,它将起作用。对于mvn或gradle