【问题标题】:Run Java EE 7 WebSockets in Tomcat 7在 Tomcat 7 中运行 Java EE 7 WebSockets
【发布时间】:2013-07-11 18:22:11
【问题描述】:

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

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

【问题讨论】:

    标签: java websocket tomcat7 java-ee-7


    【解决方案1】:

    不可能在 Tomcat 7 中使用 Tyrus WebSocket 实现。它可能在 Tomcat 8 中工作,但不太可能,因为 WebSocket 存在一些问题,这意味着不可能直接在上面实现 WebSocket Servlet 3.1 API 除非 Servlet 3.1 实现弯曲了一些规则。 (顺便说一句,我将在今年的 JavaOne 上讨论这个问题)。据我所知,大多数实现都使用容器特定的 API 来解决这些问题(并获得更好的性能)。

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

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

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

    【讨论】:

    • 你知道 JSR-356 什么时候可以在 Tomcat 7 中使用吗?
    • 最好的猜测是 next 之后的版本,应该是 9 月初的 7.0.44,但这只是一个猜测。很多事情都可以改变这一点。
    • 所以基本上 Tomcat 已经扩展为一个 servlet 容器,现在也将实现 JSR-356?
    • Tomcat 始终实现 Servlet 和 JSP 规范。 EL 规范的支持是从 JSP 规范中分离出来的,现在 Tomcat 正在添加对 WebSocket 规范的支持。
    猜你喜欢
    • 2015-11-30
    • 2012-06-13
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    相关资源
    最近更新 更多