You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/20 01:32:28 UTC

svn commit: r1515664 - in /tomcat/trunk/java/org/apache/tomcat/websocket/server: WsHttpUpgradeHandler.java WsServerContainer.java

Author: markt
Date: Mon Aug 19 23:32:28 2013
New Revision: 1515664

URL: http://svn.apache.org/r1515664
Log:
Rework r1515612
Avoid ISE when session is closed.

Modified:
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
    tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1515664&r1=1515663&r2=1515664&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java Mon Aug 19 23:32:28 2013
@@ -128,15 +128,7 @@ public class WsHttpUpgradeHandler implem
             sos.setWriteListener(
                     new WsWriteListener(this, wsRemoteEndpointServer));
             ep.onOpen(wsSession, endpointConfig);
-            // If onOpen event throws an exception, the session will be closed.
-            if (wsSession.isOpen()) {
-                webSocketContainer.registerSession(ep, wsSession);
-            } else {
-                // Have to throw a RuntimeException to signal that init() failed
-                // as API offers no other options.
-                throw new IllegalStateException(
-                        sm.getString("wsHttpUpgradeHandler.initFailed"));
-            }
+            webSocketContainer.registerSession(ep, wsSession);
         } catch (DeploymentException e) {
             throw new IllegalArgumentException(e);
         } finally {

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1515664&r1=1515663&r2=1515664&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java Mon Aug 19 23:32:28 2013
@@ -318,7 +318,8 @@ public class WsServerContainer extends W
     @Override
     protected void registerSession(Endpoint endpoint, WsSession wsSession) {
         super.registerSession(endpoint, wsSession);
-        if (wsSession.getUserPrincipal() != null &&
+        if (wsSession.isOpen() &&
+                wsSession.getUserPrincipal() != null &&
                 wsSession.getHttpSessionId() != null) {
             registerAuthenticatedSession(wsSession,
                     wsSession.getHttpSessionId());



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org