方式一:Consumer设置exclusive
注意条件
- 作用于basic.consume
- 不支持quorum queue
当同时有A、B两个消耗者调用basic.consume方法消耗,并将exclusive设置为true时,第二个消耗者会抛出非常:
- com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method<channel.close>(reply-code=403, reply-text=ACCESS_REFUSED - queue 'test' in vhost '/' in exclusive use, class-id=60, method-id=20)
- at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:190)
- at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:223)
- at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:981)
- at com.dms.rabbitmq.TopicSender.lambda$main$2(TopicSender.java:63)
- at java.base/java.la
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |