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

时间:2012-09-06 18:38:43

标签: javascript node.js jms

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

目前,Java应用程序接收消息。但是,我正在尝试切换到javascript。

由于

1 个答案:

答案 0 :(得分:12)

简短回答: 否。

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

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

也就是说,如果您选择与特定供应商合作,可能会有一些选择。

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

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

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