有没有可能在node.js应用程序中订阅JMS并接收消息?是否有一个像amqp模块一样允许这样做的node.js模块,可以处理amqp消息?
目前,这些消息是由Java应用程序接收的。但是,我正在尝试切换到JavaScript。
谢谢。
有没有可能在node.js应用程序中订阅JMS并接收消息?是否有一个像amqp模块一样允许这样做的node.js模块,可以处理amqp消息?
目前,这些消息是由Java应用程序接收的。但是,我正在尝试切换到JavaScript。
谢谢。
简短回答: 不行。
详细回答: 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方法更可靠,但也需要更多的时间。