Подписка не читает никаких сообщений из очереди AMQ.В очереди есть сообщения - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть приложение узла, которое подключается к очереди 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);
    });
}
...