2013/3/21 <ma...@apache.org>: > Author: markt > Date: Thu Mar 21 13:09:41 2013 > New Revision: 1459288 > > URL: http://svn.apache.org/r1459288 > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54734 > Partial fix > javax.servlet.http.WebConnection needs to extend AutoCloseable > Based on a patch by Nick Williams > > Modified: > tomcat/trunk/java/javax/servlet/http/WebConnection.java > tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java > > tomcat/trunk/java/org/apache/tomcat/websocket/server/LocalStrings.properties > > 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=1459288&r1=1459287&r2=1459288&view=diff > ============================================================================== > --- > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > (original) > +++ > tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java > Thu Mar 21 13:09:41 2013 > @@ -32,6 +32,8 @@ import javax.websocket.DeploymentExcepti > import javax.websocket.Endpoint; > import javax.websocket.EndpointConfig; > > +import org.apache.juli.logging.Log; > +import org.apache.juli.logging.LogFactory; > import org.apache.tomcat.util.res.StringManager; > import org.apache.tomcat.websocket.WsIOException; > import org.apache.tomcat.websocket.WsSession; > @@ -41,6 +43,11 @@ import org.apache.tomcat.websocket.WsSes > */ > public class WsHttpUpgradeHandler implements HttpUpgradeHandler { > > + private static final Log log = > + LogFactory.getLog(WsHttpUpgradeHandler.class); > + private static final StringManager sm = > + StringManager.getManager(Constants.PACKAGE_NAME); > + > private final ClassLoader applicationClassLoader; > > private Endpoint ep; > @@ -50,12 +57,10 @@ public class WsHttpUpgradeHandler implem > private String subProtocol; > private Map<String,String> pathParameters; > private boolean secure; > + WebConnection connection; > I think the above field was supposed to be "private". It is not used anywhere outside of this class in this commit. > private WsSession wsSession; > > - private static final StringManager sm = > - StringManager.getManager(Constants.PACKAGE_NAME); > - > > public WsHttpUpgradeHandler() { > applicationClassLoader = > Thread.currentThread().getContextClassLoader(); > @@ -83,6 +88,8 @@ public class WsHttpUpgradeHandler implem > sm.getString("wsHttpUpgradeHandler.noPreInit")); > } > > + this.connection = connection; > + > ServletInputStream sis; > ServletOutputStream sos; > try { > @@ -126,7 +133,11 @@ public class WsHttpUpgradeHandler implem > > @Override > public void destroy() { > - // NO-OP > + try { > + connection.close(); > + } catch (Exception e) { > + log.error(sm.getString("wsHttpUpgradeHandler.destroyFailed"), e); > + } > } > > Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org