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

5

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

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

谢谢。


我认为这就是你要找的东西,我已在nodejs中实现它并且它非常有效。 https://github.com/kates/node-stomp - davemilligan
可能是使用Node.js消费JMS消息的重复问题 - Sébastien Le Callonnec
1个回答

15

简短回答: 不行。

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

另一方面,AMQP不仅是API,它实际上是一个标准化的传输协议,因此可以在任何语言中实现。而JMS则没有这种便利。

话虽如此,如果您选择选择特定供应商,则可能会有其他选项。

我知道Apache ActiveMQ支持AJAX,并且IBM WebSphere MQ以及JBoss HornetQ也有类似的功能(至少部分)。

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

更耗时的选择是使用特定实现的C / C ++ API编写node.js扩展,并使用它进行连接。这可能比REST / AJAX方法更可靠,但也需要更多的时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接