我正在尝试将Tyrus部署到Tomcat 8容器中并且失败了。根据文档,我应该能够部署包含我的类和支持Tyrus类/依赖项的WAR,并且所有使用@ServerEndpoint注释的类都应该在WAR中找到并部署为websocket端点。这条指令给了我一点点因为我没有在部署描述符中定义任何类型的过滤器,但我决定在Tomcat 8中支持JSR 356时我必须以某种方式取决于一些未知的魔法。事实证明,没有这样的魔力。注意:我正在使用Tomcat 8,因为我的理解是它支持JSR 356 websocket标准。另外,我的JDK是最新的Java 7版本。
我花了一些时间研究这个并发现人们通过从命令行运行服务器实例(org.glassfish.tyrus.server.Server)作为Java应用程序,成功地发布了与Tyrus的websocket端点。我试过这个并且它有效。但是,我无法在Tomcat上部署WAR成功。
有没有人了解在Tomcat 8上通过Tyrus成功发布websocket端点所需的步骤?
答案 0 :(得分:6)
Apache Tomcat 7.0及更高版本(以及Eclipse Jetty 9.1)内置了对JSR-356(又名javax.websocket
)的支持。
大多数JEE7容器都不需要使用Tyrus兼容层。
只需跳过整个Tyrus配置问题,并使用展示javax.websocket
支持的内置功能。</ p>