是否有任何npm模块(或只是一个库)可以让node.js使用来自JMS端点的消息(tcp://jms.someadress.com:61616)
答案 0 :(得分:4)
如果您正在使用RabbitMQ(或其他AMQP实现者),您可以使用node-amqp,这是一个使用AMQP协议连接到消息服务器的模块。
答案 1 :(得分:3)
将Stomp协议与stomp-js或node-stomp-client一起使用。 ActiveMQ supports Stomp与JBoss HornetQ相同。我假设您使用ActiveMQ,因为端口号与其默认值匹配。
我想还应该有JMS-Stomp网桥,你可以使用商业JMS实现。
答案 2 :(得分:0)
请注意,现在 squaremo/amqp.node 似乎比 node-amqp
维护得更好,甚至在 RabbitMQ docs 中也推荐使用。
npm install amqplib
var q = 'tasks';
var open = require('amqplib').connect('amqp://localhost');
// Publisher
open.then(function(conn) {
return conn.createChannel();
}).then(function(ch) {
return ch.assertQueue(q).then(function(ok) {
return ch.sendToQueue(q, Buffer.from('something to do'));
});
}).catch(console.warn);
// Consumer
open.then(function(conn) {
return conn.createChannel();
}).then(function(ch) {
return ch.assertQueue(q).then(function(ok) {
return ch.consume(q, function(msg) {
if (msg !== null) {
console.log(msg.content.toString());
ch.ack(msg);
}
});
});
}).catch(console.warn);