4

我正在尝试将 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。

有没有人了解通过 Tyrus 在 Tomcat 8 上成功发布 websocket 端点所需的步骤?

4

1 回答 1

6

Apache Tomcat 7.0 及更高版本(以及 Eclipse Jetty 9.1)内置了对 JSR-356(aka javax.websocket)的支持。

大多数 JEE7 容器不需要使用 Tyrus 兼容层。

只需跳过整个 Tyrus 配置问题并使用提供支持的内置功能即可javax.websocket

于 2013-12-17T23:35:03.233 回答