如何检查消息是不是传递到任何单个队列

Posted

技术标签:

【中文标题】如何检查消息是不是传递到任何单个队列【英文标题】:How to check if message is delivered to any single queue如何检查消息是否传递到任何单个队列 【发布时间】:2014-11-12 05:25:57 【问题描述】:

我在 linux 中使用 rabbitmq-c lib。我想要这么基本的请求和响应。我已经使用 amqp_basic_publishma​​ndatory 字段作为 true,我只想知道消息是在任何队列中传递的。我想要基本的 c 示例。

【问题讨论】:

【参考方案1】:

只需处理AMQP_BASIC_RETURN_METHOD 响应,例如查看rabbitmq-c 库附带的amqps_consumer.c example。

【讨论】:

谢谢...但是如果我发布了多个消息会发生什么。有什么可以说是对那次发布的致谢吗? 没问题,看看confirms机制是如何工作的(来自rabbitmq.com/confirms.html的第3段):一旦通道处于confirm模式,broker和client都会计数消息(计数从1开始首先确认。选择)。然后,代理在处理消息时通过在同一通道上发送 basic.ack 来确认消息。 delivery-tag 字段包含已确认消息的序列号。 broker 也可以在 basic.ack 中设置 multiple 字段,以表明所有消息都已处理完毕,包括带有序列号的消息。

以上是关于如何检查消息是不是传递到任何单个队列的主要内容,如果未能解决你的问题,请参考以下文章

如果资源服务器应该是无状态的,如何使用 websocket 将消息发送到队列

如何使用 websocket 检查消息是不是真的在 Netty 中传递?

使用azure服务总线,如何将单个消息发布到多个队列?

如何确保来自 JMS 队列的消息被传递到外部 WebService (CXF)?

实现推送通知服务器:如何检查传递设备令牌的消息是不是来自真实设备?

如何检查参数在shell中是不是有单个字符