Author: markt Date: Mon Aug 19 21:24:05 2013 New Revision: 1515612 URL: http://svn.apache.org/r1515612 Log: Don't try and register a WebSocket session that we know to be closed.
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.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=1515612&r1=1515611&r2=1515612&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 21:24:05 2013 @@ -128,7 +128,15 @@ public class WsHttpUpgradeHandler implem sos.setWriteListener( new WsWriteListener(this, wsRemoteEndpointServer)); ep.onOpen(wsSession, endpointConfig); - webSocketContainer.registerSession(ep, wsSession); + // 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")); + } } catch (DeploymentException e) { throw new IllegalArgumentException(e); } finally { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org