在node.js应用程序中接收JMS消息

receive JMS messages in node.js app?

本文关键字:JMS 消息 node js 应用程序      更新时间:2023-09-26

是否可以订阅JMS,并从node.js应用程序中接收消息?有没有一个node.js模块可以实现这一点,比如amqp消息的amqp模块?

目前,这些消息是由Java应用程序接收的。然而,我正在尝试切换到javascript。

感谢

简短回答:编号

更长的答案:JMS只是Java中的一个API接口规范。没有Java就无法真正使用JMS。因此,要使用通用JMS(任何供应商),您需要在JMS实现和JavaScript(node.js)应用程序之间有一些Java粘合代码(如seam或更自定义的代码)。

另一方面,AMQP不仅仅是一个API。它实际上是一个标准化的有线协议,因此可以用任何语言实现。JMS没有这种奢侈。

也就是说,如果你选择特定的供应商,你可能会有选择。

我突然知道ApacheActiveMQ支持AJAX,IBMWebSphereMQ和JBossHornetQ也是如此(至少部分如此)(http://www.jboss.org/hornetq/rest.html)。

除了REST/AAJAX之外,其他选项正在尝试实现或查找不同JMS供应商使用的不同Wire保护的实现。对于支持AMQP的ApacheQPid来说,这很容易。STOMP是另一个由多个JMS实现支持的轻量级协议,如ActiveMQ和HornetQ,您可以在互联网上找到node.js/java脚本库。

一个更耗时的选择是使用特定的实现C/C++API(如果有..的话)编写node.js的扩展,并使用它进行连接。它(可能)比REST/AAJAX方法更可靠,但也更耗时