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

是否可以订阅一个JMS,并从Node.js应用程序接收消息? 是否有一个node.js模块,将允许这个,就像amqp模块的amqp消息?

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

谢谢

简短的回答:不。

较长的回答:JMS不过是Java中的API接口规范。 如果没有Java,你不能真正使用JMS。 因此,要使用通用JMS(任何供应商),您需要在JMS实现和JavaScript(node.js)应用程序之间有一些Java胶合代码(例如seam,或者更多定制的东西)。

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

也就是说,如果您select与特定的供应商合作,可能会有select。

我知道,Apache ActiveMQ支持AJAX,对于IBM WebSphere MQ以及JBoss HornetQ(http://www.jboss.org/hornetq/rest.html)也是如此(至less部分)。

除REST / AJAX以外,其他选项正试图实现或查找不同JMS供应商使用的不同Wire接口的实现。 对于支持AMQP的Apache QPid,这很容易。 STOMP是另一个由多个JMS实现支持的轻量级协议,例如ActiveMQ和HornetQ,您可以在Internet上findnode.js / java脚本库。

一个更费时的select是使用特定的实现C / C ++ API(如果有的话)写一个扩展到node.js并使用它连接。 它可能(可能)比REST / AJAX方法更可靠,但也更费时