如何在Node JS中编写ActiveMQ的发件人应用程序

我想创build实现一个JMS发送器应用程序的消息传递和创build相同的JAVA。 这是我在Java中的示例代码片段。

try { factory = new ActiveMQConnectionFactory("tcp://localhost:61616"); connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("SAMPLEQUEUE"); producer = session.createProducer(destination); try { TextMessage message = session.createTextMessage(); message.setText("hello"); producer.send(message); System.out.println("Sent: " + message.getText()); } catch (IOException e) { e.printStackTrace(); } } catch (JMSException e) { e.printStackTrace(); } 

这工作正常,我也能够收到我的接收器的消息。 我想在Node JS中更改发件人实现,并使其成为Node JS应用程序。 在Node JS上searchActiveMQ后,我对Node JS感到陌生。 任何指向它的指针都会非常有帮助。

问候,Subhankar

编辑

我用节点JS的脚印。 示例代码如下:

 var Stomp = require('stomp-client'); var destination = '/queue/sensorstreamqueue'; var client = new Stomp('10.53.219.153', 61613, 'user', 'pass'); var lazy = require("lazy"), fs = require("fs"); client.connect(function(sessionId) { new lazy(fs.createReadStream('input.csv')) .lines .forEach(function(line){ client.publish(destination, line.toString()); } ); console.log("published"); }); 

代码工作,我的接收器也得到消息,但是我的接收器期望它是一个textMesssage格式,并给出以下错误:

 02-19-2015 08:42:31.288 ERROR [Thread-25] (JmsInputTransporter.handleTextMessage) Error code:401306, Severity : 3 (Error) Error message:JMS Transporter is expected a TextMessage, received class org.apache.activemq.command.ActiveMQBytesMessage. Error description:JMS Transporter is expected a TextMessage, received class org.apache.activemq.command.ActiveMQBytesMessage. 

有人能帮助我,我怎么能做到这一点?

您可以尝试使用activemq-node模块,也可以在ActiveMQ上启用STOMP协议并使用此node.js库。