【发布时间】:2011-12-22 09:33:10
【问题描述】:
是否有任何 npm 模块(或只是一个库)供 node.js 使用来自 JMS 端点的消息 (tcp://jms.someadress.com:61616)
【问题讨论】:
是否有任何 npm 模块(或只是一个库)供 node.js 使用来自 JMS 端点的消息 (tcp://jms.someadress.com:61616)
【问题讨论】:
使用带有stomp-js 或node-stomp-client 的Stomp 协议。 ActiveMQ supports Stomp 与 JBoss HornetQ 相同。我假设您使用 ActiveMQ,因为端口号与其默认值匹配。
我猜应该还有 JMS-Stomp 桥,您可以将它们用于商业 JMS 实现。
【讨论】:
注意,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);
【讨论】: