我正在使用Node.js和Express编写的应用程序,并尝试使用Stomp.js客户端连接到ActiveMQ服务器。
我可以使用Stomp将应用程序成功连接到ActiveMQ,但无法在连接失败时使系统自动重新连接。似乎只有在最初成功连接后再次断开连接时才会调用失败函数,但是如果在Node应用程序启动时ActiveMQ已经停止运行,则会看到证明失败函数已被调用的错误消息。
var Stomp = require('stompjs');
var stompClient = Stomp.overTCP('localhost', 61612);
var stompStatus = false;
var stompSuccessCallback = function (frame) {
stompStatus = true;
console.log('STOMP: Connection successful');
};
var stompFailureCallback = function (error) {
stompStatus = false;
console.log('STOMP: ' + error);
setTimeout(stompConnect, 10000);
console.log('STOMP: Reconecting in 10 seconds');
};
function stompConnect() {
console.log('STOMP: Attempting connection');
stompClient.connect('login', 'password', stompSuccessCallback, stompFailureCallback);
}
stompConnect();
有人知道这里到底发生了什么吗?