Ensure concurrent WebSocketSession wrapper is used

Issue: SPR-13326
This commit is contained in:
Rossen Stoyanchev
2015-08-13 08:00:24 -04:00
parent 7575271075
commit 33f9eadd6a

View File

@@ -305,9 +305,12 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler,
*/
@Override
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) throws Exception {
WebSocketSessionHolder holder = this.sessions.get(session.getId());
if (holder != null) {
session = holder.getSession();
}
SubProtocolHandler protocolHandler = findProtocolHandler(session);
protocolHandler.handleMessageFromClient(session, message, this.clientInboundChannel);
WebSocketSessionHolder holder = this.sessions.get(session.getId());
if (holder != null) {
holder.setHasHandledMessages();
}