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/19 23:24:06 UTC
svn commit: r1515612 -
/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org