You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, this is the same issue with #24842. Open another one since I can not reopen it because this issue has not been fixed eventually. It still happens occasionally when using org.springframework.web.socket.adapter.standard.StandardWebSocketSession.
The native org.apache.tomcat.websocket.wsSession will set its state finally to CLOSEDafter calling fireEndpointOnClose when calling StandardWebSocketSession#closeInternal. (tomcat-embed-websocket:10.1.39)
The method fireEndpoinOnClose will call the expression this.handler.afterConnectionClosed in org.springframework.web.socket.adapter.standar.StandardWebSocketHandlerAdapter#onClose.
Finally in org.springframework.web.socket.messaging.StompSubProtocolHandler#afterSessionEnded the decoder of the session will be removed.
However, during above process, the state of the session is still OUTPUT_ClOSING which is marked as true for isOpen method as below.
Hello, this is the same issue with #24842. Open another one since I can not reopen it because this issue has not been fixed eventually. It still happens occasionally when using
org.springframework.web.socket.adapter.standard.StandardWebSocketSession
.The native
org.apache.tomcat.websocket.wsSession
will set its state finally toCLOSED
after callingfireEndpointOnClose
when calling StandardWebSocketSession#closeInternal. (tomcat-embed-websocket:10.1.39)The method
fireEndpoinOnClose
will call the expression this.handler.afterConnectionClosed inorg.springframework.web.socket.adapter.standar.StandardWebSocketHandlerAdapter#onClose
.Finally in
org.springframework.web.socket.messaging.StompSubProtocolHandler#afterSessionEnded
the decoder of the session will be removed.However, during above process, the state of the session is still
OUTPUT_ClOSING
which is marked astrue
forisOpen
method as below.Therefore, with the fix in previous issue, when the decoder is null for the session, the session might still be in state of
OUTPUT_CLOSING
.BTW. This does not happen when using SocketJsSession, because the state will be set to
CLOSED
, here, before calling afterConnectionClosedThe text was updated successfully, but these errors were encountered: