Spring websocket示例 – 错误 – 您是否在支持J SR-356的Servlet容器中运行?

我试图在@ https://spring.io/guides/gs/messaging-stomp-websocket上运行Spring 4示例。 当我尝试连接到套接字时,它会抛出exception。 根据示例,您需要tomcat 7.0.50并且我检查了具有正确版本的tomcat的可执行jar。 任何指针都会有所帮助。

java.lang.IllegalArgumentException: No 'javax.websocket.server.ServerContainer' ServletContext attribute. Are you running in a Servlet container that supports JSR-356? 

检查你的可执行jar中是否捆绑了tomcat7-websocket.jarwebsocket-api.jar – 也许你只是在没有额外的websocket位的情况下获得了vanilla tomcat。

我在另一个用例中得到了相同的错误消息:我停用了自动配置并手动将WebSocketConfig添加到配置中。 然后我收到了上面提到的错误信息。

解决问题很简单:只需将WebSocketAutoConfiguration添加到配置中即可。