Spring openshift&x2B;弹簧网袋

Spring openshift&x2B;弹簧网袋,spring,websocket,openshift,spring-websocket,Spring,Websocket,Openshift,Spring Websocket,我是openshift的新手,目前正在尝试在那里设置websocket应用程序,但有一些问题。当我试图连接到 ws://app-domain.rhcloud.com:8000/path 我得到以下例外情况: Caused by: java.lang.IllegalArgumentException: No 'javax.websocket.server.Server Container' ServletContext attribute. Are you running in a Servlet

我是openshift的新手,目前正在尝试在那里设置websocket应用程序,但有一些问题。当我试图连接到

ws://app-domain.rhcloud.com:8000/path

我得到以下例外情况:

Caused by: java.lang.IllegalArgumentException: No 'javax.websocket.server.Server Container' ServletContext attribute. Are you running in a Servlet container that
supports JSR-356?
    at org.springframework.util.Assert.notNull(Assert.java:112)
    at org.springframework.web.socket.server.standard.AbstractStandardUpgradeStrategy.getContainer(AbstractStandardUpgradeStrategy.java:68)
    at org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy.getContainer(TomcatRequestUpgradeStrategy.java:83)
    at org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy.getContainer(TomcatRequestUpgradeStrategy.java:46)
    at org.springframework.web.socket.server.standard.AbstractStandardUpgradeStrategy.getSupportedExtensions(AbstractStandardUpgradeStrategy.java:88)
    at org.springframework.web.socket.server.support.DefaultHandshakeHandler.doHandshake(DefaultHandshakeHandler.java:214)
    at org.springframework.web.socket.server.support.WebSocketHttpRequestHandler.handleRequest(WebSocketHttpRequestHandler.java:127)
    ... 25 more
当我在本地运行应用程序时,使用以下url一切正常:

ws://localhost:8090/path

对于这两种情况,我都使用Tomcat7。 弹簧配置:

<websocket:handlers allowed-origins="*">
    <websocket:mapping path="/fight-core" handler="webSocketHandler"/>
    <websocket:handshake-interceptors>
        <ref bean="webSocketHandshakeInterceptor"/>
    </websocket:handshake-interceptors>
</websocket:handlers>

此外,我还尝试在pom.xml中使用websocket api依赖项,并且不使用它


显然,这与Spring和Tomcat无关,而是Openshift的路由层;websocket支持似乎仍处于试验阶段,请参见: * *

对于普通WebSocket连接(ws://),请求被定向到端口 8000,而WebSocket安全连接(wss://)使用端口8443,如图所示 如以下示例所示:


显然,这与Spring和Tomcat无关,而是Openshift的路由层;websocket支持似乎仍处于试验阶段,请参见: * *

对于普通WebSocket连接(ws://),请求被定向到端口 8000,而WebSocket安全连接(wss://)使用端口8443,如图所示 如以下示例所示: