RabbitMQ 팀은 this mailing list을 모니터링하며 때때로 StackOverflow에 대한 질문에만 답변합니다.
두 번째로 다른 속성을 사용하여 assertQueue
을 두 번 호출 해 보았습니까? 당신은 당신의 자신의 질문에 매우 빨리 대답했을 것입니다. 그런 다음
#!/usr/bin/env node
var amqp = require('amqplib');
amqp.connect('amqp://localhost').then(function(conn) {
return conn.createChannel().then(function(ch) {
var q = 'hello';
var ok0 = ch.assertQueue(q, {durable: false});
return ok0.then(function(_qok) {
var ok1 = ch.assertQueue(q, {durable: true});
return ok1.then(function(got) {
console.log(" [x] got '%s'", got);
return ch.close();
});
});
}).finally(function() { conn.close(); });
}).catch(console.warn);
RabbitMQ를 시작하고 테스트 코드를 실행
나는이 테스트 프로그램을 만들
this code을 사용했다. 다음과 같은 출력이 표시되어야합니다.
$ node examples/tutorials/assert-borked.js
events.js:183
throw er; // Unhandled 'error' event
^
Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'hello' in vhost '/': received 'true' but current is 'false'"
at Channel.C.accept