2012-09-06 44 views
4

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

当前消息由Java应用程序接收。但是,我试图切换到JavaScript。

感谢

+0

我认为这是你正在寻找的东西,我已经在nodejs中实现了它,它工作得很好。 gruntfuddler

+0

[由node.js消费JMS消息]的可能重复(http://stackoverflow.com/questions/8016075/consuming-jms-messages-by-node -js) –

回答

8

简短的回答: 号

较长的答案: 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接口的实现。对于支持AMQP的Apache QPid,这很容易。 STOMP是另一个由多个JMS实现支持的轻量级协议,例如ActiveMQ和HornetQ,您可以在Internet上找到node.js/java脚本库。

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

相关问题