在Tomcat 7中运行Java EE 7 WebSockets

时间:2013-07-11 18:22:11

标签: java websocket tomcat7 java-ee-7

Java EE 7已经淘汰,我喜欢的功能之一是标准Websockets。目前我在Tomcat 7工作,有没有办法在我的Tomcat 7中集成Java EE 7 Websockets? 我在Tyrus Websocket的文档中搜索它没有成功

更新:Tomcat 7.0.47附带Websocket支持,是的宝贝!

1 个答案:

答案 0 :(得分:5)

不可能采用Tyrus WebSocket实现并在Tomcat 7中使用它。它可能在Tomcat 8中有效但不太可能,因为WebSocket存在一些问题,这意味着无法直接在顶层实现WebSocket除非Servlet 3.1实现弯曲一些规则,否则Servlet 3.1 API。 (顺便说一下,我今年将在JavaOne上讨论这个问题)。据我所知,大多数实现都使用特定于容器的API来解决这些问题(以及更好的性能)。

Tomcat的Java WebSocket 1.0(JSR-356)实现目前仅在Tomcat 8中可用。一直计划在Tomcat 7稳定后将该实现反向移植到Tomcat 7。我认为这一点很接近。一段时间以来,实现已经为客户端和服务器传递了Autobahn TestSuite。在过去的几天里,一些人一直在对它进行压力测试,并发现了一些问题 - 所有问题都得到了解决。

今天,您需要从源代码构建Tomcat 8以获得基于Tomcat的JSR-356实现。在接下来的几个版本中(大约每个月都有一个新的Tomcat 7版本),JSR-356实现也将在Tomcat 7中提供。

如果您不想从源代码构建,我相信Glassfish是您在此时实现JSR-356的唯一选择。我知道Jetty和JBoss正在开发一个,但我不知道他们有多接近完成。