如何在nodejs stompit

时间:2018-05-01 12:11:13

标签: node.js activemq stomp

我在节点js中使用stompit模块连接activeMQ。

我的问题:无法在stompit.ConnectFailover中识别代理是否已连接

这是我的代码:

var stompit = require('stompit')

var connectionManager = new stompit.ConnectFailover();

connectionManager.addServer({
  'host': 'localhost',
  'port': 61623,
  'connectHeaders':{
    ...
  }
});

var channel = new stompit.Channel(connectionManager);

var subscribeHeaders = {
    'destination': '/queue/test',
    'ack': 'client'
};


channel.subscribe(subscribeHeaders, function(error, message){
    if (error) {
        console.log(error);
        return;
    }  
});

//send . But not throw error , even broker is not started
//always trying to reconnect
sendDlQ(subscribeHeaders, 'Hello');


function sendDlQ(header, body){
     channel.send(header, body);
}

每当调用send方法时,总是成功。 甚至经纪人也没有开始。

发送前如何识别经纪人是否已连接?

1 个答案:

答案 0 :(得分:0)

来自stompit库的Channel.js已提供连接选项

检查if(channel._client != null && !channel._closed)