AMQP 모듈을 사용하여 RabbitMQ에 연결합니다. 연결하고, 교환을 만들고, 대기열에 넣고, 교환에 메시지를 보내고 게시 할 수 있습니다. 메시지가 관리 콘솔에 게시되었는지 확인할 수 있습니다.node.js AMQP가 콜백을 반환하지 않습니다.
문제점 교환 게시 호출에 대한 콜백이 수신되지 않습니다. 이것은 내 코드입니다. 내가 사용하는 메시지를 보낼 필요가있을 때 (앱이 express.js의 인스턴스)
app.rabbitMQConnection = amqp.createConnection({ host: 'myurl.com', login: 'login', password: 'pwd' });
app.rabbitMQConnection.on('ready', function(){
console.log("RabbitMQ server connected");
app.rabbitMQConnection_e = app.rabbitMQConnection.exchange('my-exchange', { confirm: true, durable: true, autoDelete: false }, function (q) {
app.rabbitMQConnection_q_lisorders = app.rabbitMQConnection.queue('shoe-orders', {autoDelete: false, durable: true}, function (q) {
app.rabbitMQConnection_q_lisorders.bind(app.rabbitMQConnection_e, '#');
});
});
});
다음 :
초기화
app.rabbitMQConnection_e.publish('routingKey', { message: myMessage }, { deliveryMode: 2 }, function(transmissionFailed){
if (transmissionFailed == true){
console.log("message failed");
}else{
console.log("message sent");
}
});
콜백 기능 (transmissionFailed를) 호출되지 않습니다. 도와주세요!
IIRC. – SLaks
@SLaks 교환을 위해 {confirm : true} 옵션을 설정했습니다. 잘못된 것이라면 알려주세요. – user3658423