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: [email protected]
For additional commands, e-mail: [email protected]