Skip to content

Commit 7defbfc

Browse files
committed
Ensure concurrent WebSocketSession wrapper is used
Issue: SPR-13326
1 parent 257cc63 commit 7defbfc

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
@@ -309,9 +309,12 @@ else if (this.protocolHandlers.size() == 1) {
309309
*/
310310
@Override
311311
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
312+
WebSocketSessionHolder holder = this.sessions.get(session.getId());
313+
if (holder != null) {
314+
session = holder.getSession();
315+
}
312316
SubProtocolHandler protocolHandler = findProtocolHandler(session);
313317
protocolHandler.handleMessageFromClient(session, message, this.clientInboundChannel);
314-
WebSocketSessionHolder holder = this.sessions.get(session.getId());
315318
if (holder != null) {
316319
holder.setHasHandledMessages();
317320
}

0 commit comments

Comments
 (0)