diff --git a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java index eed6587ab10..7c40cd411a2 100644 --- a/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java +++ b/jetty-websocket/websocket-javax-common/src/main/java/org/eclipse/jetty/websocket/javax/common/JavaxWebSocketSession.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import javax.websocket.CloseReason; @@ -62,6 +63,7 @@ public class JavaxWebSocketSession implements javax.websocket.Session private final AvailableDecoders availableDecoders; private final AvailableEncoders availableEncoders; private final Map pathParameters; + private final String sessionId; private Map userProperties; private List negotiatedExtensions; @@ -76,8 +78,8 @@ public class JavaxWebSocketSession implements javax.websocket.Session this.container = container; this.coreSession = coreSession; this.frameHandler = frameHandler; + this.sessionId = UUID.randomUUID().toString(); this.config = Objects.requireNonNull(endpointConfig); - this.availableDecoders = new AvailableDecoders(this.config); this.availableEncoders = new AvailableEncoders(this.config); @@ -315,7 +317,7 @@ public class JavaxWebSocketSession implements javax.websocket.Session @Override public String getId() { - return this.frameHandler.getUpgradeRequest().toString(); + return sessionId; } /**