Fix issue in TomcatRequestUpgradeStrategy
The method WsServerContainer.getServerContainer() was removed from JSR-356 but remained in Tomcat a little while longer. Instead the ServerContainer is obtained through a ServletContext attribute. Tomcat has now removed this method, hence the need for this fix.
This commit is contained in:
@@ -20,6 +20,7 @@ import java.io.IOException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Collections;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.websocket.Endpoint;
|
||||
@@ -74,8 +75,9 @@ public class TomcatRequestUpgradeStrategy extends AbstractStandardUpgradeStrateg
|
||||
throw new HandshakeFailureException("Failed to upgrade HttpServletRequest", ex);
|
||||
}
|
||||
|
||||
// TODO: use ServletContext attribute when Tomcat is updated
|
||||
WsServerContainer serverContainer = WsServerContainer.getServerContainer();
|
||||
String attribute = "javax.websocket.server.ServerContainer";
|
||||
ServletContext servletContext = servletRequest.getServletContext();
|
||||
WsServerContainer serverContainer = (WsServerContainer) servletContext.getAttribute(attribute);
|
||||
|
||||
ServerEndpointConfig endpointConfig = new ServerEndpointRegistration("/shouldntmatter", endpoint);
|
||||
|
||||
|
||||
@@ -10,20 +10,8 @@
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<logger name="org.springframework.samples">
|
||||
<level value="debug" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web">
|
||||
<level value="debug" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web.socket">
|
||||
<level value="trace" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web.stomp">
|
||||
<level value="trace" />
|
||||
<level value="debug" />
|
||||
</logger>
|
||||
|
||||
<root>
|
||||
|
||||
Reference in New Issue
Block a user