将Spring Websocket应用程序部署到Heroku时出现以下错误。
2019-12-12T03:36:41.846073 + 00:00 app [web.1]: org.springframework.web.socket.sockjs.SockJsException:未捕获 SockJS请求失败, uri = https://appname.herokuapp.com/ws/228/ru5nyiee/websocket;嵌套的 例外是 org.springframework.web.socket.sockjs.SockJsTransportFailureException: WebSocket握手失败;嵌套异常为 java.lang.IllegalArgumentException:否 'javax.websocket.server.ServerContainer'ServletContext属性。是 您在支持JSR-356的Servlet容器中运行?
应用程序服务器是Tomcat 8,其procfile如下:
网站:java $ JAVA_OPTS -jar webapp-runner.jar --context-xml ./web/target/drb-rlp/META-INF/context.xml $ {WEBAPP_RUNNER_OPTS} --port $ PORT ./web/target/app.war
奇怪的是,在本地的Jetty Server中,同样的效果很好。