我已经使用 node.js 制作了一个网络服务器,现在在我的客户端(我使用 java 脚本制作),当用户单击发送按钮而不是发布请求 (XMLHttpRequest) 时,我想将数据发送到 JMS 队列。我如何在 javascript 中实现它。
最佳答案
JMS 是一种仅限 Java 的 API。除非您实际在 java(Rhino 或其他)之上运行 JS,否则无法使 JavaScript 实现 Java-API。但这里似乎并非如此。
理论上 - 可以实现 C++ wrapper using JNI与可以使用 JMS 的 Java 类交谈。然后,该包装器必须适应 Node/V8 扩展。好吧,这是很多容易出错的工作。 不要往这边走。
解决方案是不使用 JMS。大多数 JMS 实现(ActiveMQ、IBM WebSphere MQ 等)通常有多种方式与之通信。通常有一个 C/C++ 客户端可供 Node.js 扩展使用。
还有 JMS 代理通常支持的标准化线路协议(protocol),可以与现有的 Node.js 扩展一起使用。 AMQP 1.0 , MQTT , STOMP .此外,许多消息代理有一定的可能性(插件或类似的)通过 HTTP 接受消息。
因此,请探索您的 JMS 实现有哪些可能的通信方法。
作为后备解决方案,只需编写一个小的 java 程序来监听 HTTP 并生成您可以从 Node.js 应用调用的 JMS 消息。
关于javascript - 如何使用 javascript 将消息发送到 JMS 队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34728226/