通过node.js使用JMS消息

时间:2011-11-04 21:43:15

标签: node.js jms

是否有任何npm模块(或只是一个库)可以让node.js使用来自JMS端点的消息(tcp://jms.someadress.com:61616)

3 个答案:

答案 0 :(得分:4)

如果您正在使用RabbitMQ(或其他AMQP实现者​​),您可以使用node-amqp,这是一个使用AMQP协议连接到消息服务器的模块。

https://github.com/postwait/node-amqp.git

答案 1 :(得分:3)

将Stomp协议与stomp-jsnode-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);