相关疑难解决方法(0)

如何有选择地删除AMQP(RabbitMQ)队列中的消息?

我想有选择地删除AMQP队列中的消息,甚至不读取它们.

方案如下:

发送方希望根据X类型的新信息到达的事实使类型X的消息到期.因为订阅者很可能还没有使用类型X的最新消息,所以发布者应该只删除以前的X类型消息并将最新的消息放入队列中.整个操作应该对订户透明 - 实际上他应该使用像STOMP这样简单的东西来获取消息.

如何使用AMQP做到这一点?或者它可能在另一个消息传递协议中更方便?

我想避免复杂的基础设施.所需的整个消息传递如上所述:一个队列,一个订阅者,一个发布者,但发布者必须能够临时删除给定条件的消息.

发布者客户端将使用Ruby,但实际上,一旦我发现如何在协议中执行它,我就会处理任何语言.

messaging message-queue amqp rabbitmq

9
推荐指数
3
解决办法
3万
查看次数

当rabbitmq从队列中删除消息时?

首先,我声明交换,排队并将它们绑定在一起。我基本将消息发布到此队列,因此队列中有您一条消息。这时我启动我的使用者程序(使用autoAck = true)并调试它,当我运行到basicConsume(xxx)时,消息丢失了!在我看来,消费者在运行方法nextDelivery()时,会将basic.ack发送给代理,但是实际上,当我声明消费者时,将使用队列中的消息。为什么?有人可以告诉我Rabbitmq从队列中删除邮件吗?在basicConsume()或nextDelivery()方法之后???谢谢~~~

rabbitmq

2
推荐指数
1
解决办法
5326
查看次数

标签 统计

rabbitmq ×2

amqp ×1

message-queue ×1

messaging ×1