У меня есть приложение узла, которое подключается к очереди AMQ и читает сообщения.Это приложение не читает сообщения, даже если в очереди есть сообщение.
Еще одна вещь заключается в том, что событие connect и connect продолжает вызываться.
Я использую библиотеку узла js stopmit для подключения к AMQ.очередь.
const stompit = require('stompit');
async function ReadMessage() {
return new Promise(async (resolve, reject) => {
try {
let conns = [];
let constIpAddresses =[];
constIpAddresses.forEach(ip => {
conns.push(
{
host: "",
port: "",
ssl: true,
rejectUnauthorized: false,
connectHeaders: {
host: "",
login: "",
passcode: ""
}
}
)
});
const channelPool = await createConn(conns);
channelPool.channel(function (error, channel) {
if (error) {
reject(error);
return;
}
var Headers = {
'destination': '/queue/' + 'queu name here',
'ack': 'client-individual'
};
channel.subscribe(Headers, function (error, msg, subscription) {
//code to parse msg here
});
});
}
catch (err) {
reject(err);
return;
}
});
}
async function createConn(obj) {
return new Promise((resolve, reject) => {
const conmgr = new stompit.ConnectFailover(obj, {});
conmgr.on('connecting', function (connector) {
});
conmgr.on('error', function (error) {
reject(error);
});
conmgr.on('connect', function (connecter) {
resolve(establishConn);
});
let establishConn = stompit.ChannelPool(conmgr);
});
}