Skip to content

Commit 33f9ead

Browse files
committed
Ensure concurrent WebSocketSession wrapper is used
Issue: SPR-13326
1 parent 7575271 commit 33f9ead

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,12 @@ else if (this.protocolHandlers.size() == 1) {
305305
*/
306306
@Override
307307
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
308+
WebSocketSessionHolder holder = this.sessions.get(session.getId());
309+
if (holder != null) {
310+
session = holder.getSession();
311+
}
308312
SubProtocolHandler protocolHandler = findProtocolHandler(session);
309313
protocolHandler.handleMessageFromClient(session, message, this.clientInboundChannel);
310-
WebSocketSessionHolder holder = this.sessions.get(session.getId());
311314
if (holder != null) {
312315
holder.setHasHandledMessages();
313316
}

0 commit comments

Comments
 (0)