Browse Source

Ensure concurrent WebSocketSession wrapper is used

Issue: SPR-13326
pull/865/head
Rossen Stoyanchev 11 years ago
parent
commit
33f9eadd6a
  1. 5
      spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java

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

@ -305,9 +305,12 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler, @@ -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();
}

Loading…
Cancel
Save