如果队列为';s在RPC RabbitMQ中被删除
我使用的是java客户端如果队列为';s在RPC RabbitMQ中被删除,rabbitmq,rpc,spring-rabbit,Rabbitmq,Rpc,Spring Rabbit,我使用的是java客户端 https://www.rabbitmq.com/tutorials/tutorial-six-java.html听起来好像发生了以下情况: 队列A已创建 消费者1订阅队列A 当使用者1仍处于活动状态时,队列A被删除 重新创建队列A(称之为“) 现在,您想知道为什么消费者1没有收到任何消息?您必须重新订阅您的消费者。我通常不删除队列,因为在任何合理的情况下都不需要这样做(而是使用属性来处理队列的自动删除) 据报道, 删除队列时,任何挂起的消息都会发送到死信中 队列(如
https://www.rabbitmq.com/tutorials/tutorial-six-java.html
听起来好像发生了以下情况:
因此,根据对行为的描述,这是消费者的一个bug。在这种情况下,它应该抛出异常或退出消费循环。在任何情况下,您都必须重新订阅“A”,才能收到更多的消息。我不知道您在问这个问题。如果队列被删除,您将以与最初相同的方式重新声明它。除此之外,与标题相比,问题文本的相关性是可疑的。谢谢你的回答。我更新了它。服务器如何知道队列已被删除?消息服务器?还是队列的消费者?队列的消费者。理想情况下,如果队列被删除,使用者应该退出,但在RPC中,队列被删除后,使用者不会退出。如果您想知道,如果您删除了一个具有活动使用者的队列,会发生什么,我真的不知道,因为这通常被认为是一件坏事。但是我可以想象消费者会收到取消通知,然后断开连接。这里解释好了,你链接到了一篇文章,解释了取消消费者资格意味着什么。我的回答告诉你,这就是正在发生的事情,这取决于你理解这其中的含义:)