eclipse-ee4j / eclipse-ee4j/tyrus
Connection Closed error
- Dominant language
- Java
- Stars
- 128
- Forks
- 49
- PR merge metrics
- No merged PRs in 30d
Description
hi.
I am receiving following error when reading from a queue. this does not happen always. we have about 8000 queues and this happens randomly. but currently it is persisting on 1 queue for 1 specific message.
also I am not able to find how to enable debug to find what is the exact stack trace for the exception.
any help would be appreciated.
org.springframework.messaging.simp.stomp.ConnectionLostException: Connection closed
at org.springframework.messaging.simp.stomp.DefaultStompSession.afterConnectionClosed(DefaultStompSession.java:487) ~[spring-messaging-4.3.23.RELEASE.jar:4.3.23.RELEASE]
at org.springframework.web.socket.messaging.WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed(WebSocketStompClient.java:353) ~[spring-websocket-4.3.23.RELEASE.jar:4.3.23.RELEASE]
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.onClose(StandardWebSocketHandlerAdapter.java:141) ~[spring-websocket-4.3.23.RELEASE.jar:4.3.23.RELEASE]
at org.glassfish.tyrus.core.TyrusEndpointWrapper.onClose(TyrusEndpointWrapper.java:1235) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.core.TyrusWebSocket.onClose(TyrusWebSocket.java:110) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.client.TyrusClientEngine$TyrusReadHandler.handle(TyrusClientEngine.java:734) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.container.grizzly.client.GrizzlyClientFilter$ProcessTask.execute(GrizzlyClientFilter.java:466) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.container.grizzly.client.TaskProcessor.processTask(TaskProcessor.java:91) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.container.grizzly.client.TaskProcessor.processTask(TaskProcessor.java:68) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.tyrus.container.grizzly.client.GrizzlyClientFilter.handleRead(GrizzlyClientFilter.java:249) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:95) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:260) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:177) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:109) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:88) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:53) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:515) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:89) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:94) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:33) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:114) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569) ~[tyrus-standalone-client-1.20.jar:?]
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549) ~[tyrus-standalone-client-1.20.jar:?]
at java.lang.Thread.run(Thread.java:745) ~[?:1.8.0_111]
Contributor guide
Research direction
Start with the reported stack trace, especially DefaultStompSession.afterConnectionClosed and WebSocketStompClient$WebSocketTcpConnectionHandlerAdapter.afterConnectionClosed, then inspect the TyrusClientEngine and Grizzly read-handling entries shown. Reproduce the intermittent connection close around the specific queue message and determine what additional debug output or failure context is needed; done requires identifying a reproducible cause or a clearly actionable diagnostic path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100