如何将 Tyrus(JSR 356 实现)部署到 Web 容器?

2024-01-11

我尝试将 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 端点所需的步骤吗?


Apache Tomcat 7.0 及更高版本(以及 Eclipse Jetty 9.1)内置了对 JSR-356(又名javax.websocket).

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

只需跳过整个 Tyrus 配置问题并使用公开的内置功能javax.websocket支持。

  • Jetty 9+ https://www.eclipse.org/jetty/documentation/current/websocket-java.html
  • Tomcat 8 操作方法 https://tomcat.apache.org/tomcat-8.0-doc/web-socket-howto.html
  • Tomcat 7 操作方法 https://tomcat.apache.org/tomcat-7.0-doc/web-socket-howto.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Tyrus(JSR 356 实现)部署到 Web 容器? 的相关文章

随机推荐

  • xcode4 工作区中的两个项目(#import 失败)

    我真的很难让它在 xcode 4 中工作 我有一个项目将在许多应用程序 网络 中重用 因此我创建一个工作区并添加我的两个项目 到目前为止 一切都很好 这就是失败的地方 import JSONRequest h 没有明显的原因 它自动完成头文
  • 在单个表列中存储多个位值

    我需要在数据库中存储某种一周中的日程安排 我可以在其中安排一周中的一天或多天的记录 假设它代表一个任务 我需要将其存储在一列中 以便于保存和检索 然后每天我都会选择时间表与本周的当前日期相匹配的记录 例如 获取时间表与第 7 周的日期相匹配
  • 内部矩阵尺寸必须一致

    我有一个矩阵A和一个向量x A是一个 50x30 矩阵 x是一个 1x30 向量 我想要倍增A by x 但每当我尝试z A x我收到错误Inner matrix dimensions must agree 然而 在列数相同的情况下 矩阵维
  • Elasticsearch Painless 计算嵌套元素的分数

    Note 我最初发布这个问题的方式有点不同 不值得更新 因为阅读后我学到了更多 要求 搜索文档并根据文档中的嵌套元素计算自定义分数 结构 mappings book properties title type string index no
  • 使用 gdb 中的函数调用堆栈进行导航

    在 Visual Studio 中 如果单击调用堆栈中的某个条目 则会打开编辑器并显示该函数的源代码 gdb 中可能有类似的东西吗 我在 gdb 中使用 tui 文本用户界面 是否可以让 tui 显示回溯中给定条目的源代码 如果没有 那么如
  • 如何在较新版本的 VS 中通过 UI 更改单元测试属性?

    几个月前 当我在使用 MSTest 进行单元测试时阅读有关数据源的内容时 我偶然发现了一些旧帖子 声称这只是进入属性并在 gui 上设置数据源的问题 这导致该属性与所需的参数一起自动添加到测试方法中 不过 我始终无法在属性网格上选择单元测试
  • 如何检查是否已为 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python 等安装 virtualenvwrapper

    我正在遵循有关 Python 的 virtualenv 的指南 但遇到了一个小问题 Sahands MBP empty sahandzarrinkoub source usr local bin virtualenvwrapper sh u
  • 删除结构 C++ 向量中的重复项

    我有以下结构 我想将结构存储在向量中 其次我想删除 context 我究竟做错了什么 include
  • 编译器使用了错误的函数原型?

    我遇到了一个我不明白的编译问题 我将其简化了一些 以便在下面进行解释 基本上 它涉及到有 2 个不同的 getter 一个 const 和一个非常量 getter 它们返回一个带有 const 和非常量 value type 的容器 本例中
  • 通过命令行的Windows照片查看器 - 特殊功能[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想通过命令行执行在 Windows 7 和 Windows XP 下使用 Windows 照片查看器查
  • 使用 VBA 从工作簿中检索 OLEObjects 信息

    设想 我正在尝试使用 VBA 最初是 Python 但我找不到方法来执行此操作 读取所有信息或工作表 由于我必须读取的工作表具有不同的格式并且通常很混乱 因此我循环遍历工作表中的所有对象 获取它们的名称和值 检查或不检查 作为二进制文件 I
  • 为嵌套循环声明虚拟变量的更好方法是什么?

    方法 1 的优点是由于源代码中的文本字符较少 因此文件大小稍小 int i j for i 0 i lt numRows i for j 0 j lt numCols j
  • NSImage vs. CIImage vs. CGImage?

    我应该什么时候使用它们 NSImage 是一种抽象数据类型 可以表示许多不同类型的图像 以及图像的多种表示形式 当图像的实际类型对于您想要执行的操作并不重要时 它通常很有用 它也是 AppKit 在其 API NSImageView 等 中
  • Discord 机器人:如何在语音通道中播放 mp3 文件

    我为粉丝服务器制作了一个自定义的 Discord 机器人 该服务器由 Heroku 托管 因此当我不在时它可以保持在线状态 我想做的是 当有人为其发出特定命令时 让机器人播放其文件夹中的 mp3 文件 但我希望音乐在特定语音通道中播放 首先
  • iPhone + UIView。绘制矩形期间消耗大量内存。有什么策略可以减少这种情况吗?

    我的数据可视化应用程序在重绘 触发drawRect的setNeedsDisplay 期间产生大量内存消耗峰值 我目前正在重新绘制包含数据图的整个视图 该视图比设备显示屏大得多 有没有办法告诉 CoreGraphics 分配足够的内存来绘制每
  • Swift:PrepareForSegue,Swift Cast 失败

    我想在我的单元格中选择一个单元格TableViewController 单元格的文本应通过 segue 传输到 FirstViewController 的标签 我总是收到如下所示的错误 标识符是正确的 My code override fu
  • Kohana3:用于开发和生产环境的不同 .htaccess rewritebase 和 kohana base_url

    In my bootstrap php我有以下内容 if SERVER SERVER NAME localhost Kohana environment development else Kohana environment product
  • 具有扩展持久上下文的意外分离实体

    我尝试使用 EXTENDED PERSISTENT CONTEXT 来维护多个调用之间的状态 我的理解是 托管实体不会在调用之间分离 但是在我之前抛出验证错误后 我不断收到与调用中分离实体相关的错误 状态在有状态会话 bean 中维护 Na
  • 使用 Greasemonkey 根据文本内容帮助隐藏 DIV 标签

    我正在寻找一种编写 Greasemonkey 脚本的方法 该脚本将采用以下代码片段 并且仅显示由以下内容组成的代码块 div class A div class B a href link1 img class imgClass src h
  • 如何将 Tyrus(JSR 356 实现)部署到 Web 容器?

    我尝试将 Tyrus 部署到 Tomcat 8 容器 但失败了 根据文档 我应该能够部署一个包含我的类并支持 Tyrus 类 依赖项的 WAR 并且所有用 ServerEndpoint 注释的类都应该在 WAR 中找到并部署为 websoc