diff --git a/jetty-websocket/websocket-jetty-api/src/main/java/org/eclipse/jetty/websocket/api/WebSocketAdapter.java b/jetty-websocket/websocket-jetty-api/src/main/java/org/eclipse/jetty/websocket/api/WebSocketAdapter.java index 04ae3de0b15d..2fcaa43e9ff6 100644 --- a/jetty-websocket/websocket-jetty-api/src/main/java/org/eclipse/jetty/websocket/api/WebSocketAdapter.java +++ b/jetty-websocket/websocket-jetty-api/src/main/java/org/eclipse/jetty/websocket/api/WebSocketAdapter.java @@ -21,10 +21,11 @@ public class WebSocketAdapter implements WebSocketListener { private volatile Session session; + private RemoteEndpoint remote; public RemoteEndpoint getRemote() { - return session.getRemote(); + return remote; } public Session getSession() @@ -34,7 +35,8 @@ public Session getSession() public boolean isConnected() { - return session.isOpen(); + Session sess = this.session; + return (sess != null) && (sess.isOpen()); } public boolean isNotConnected() @@ -58,6 +60,7 @@ public void onWebSocketClose(int statusCode, String reason) public void onWebSocketConnect(Session sess) { this.session = sess; + this.remote = sess.getRemote(); } @Override