我们需要知道来自生产者的消息是否已经传递到队列,而不是消费者。这基本上是另一种检查队列是否存在的方法。
我们正在为RabbitMQ
消息使用Camel路由,我们需要发布商确认。我知道RabbitMQ
客户提供了发布商确认,但我想知道Camel是否支持此功能。我们使用Camel如下。
@Produce(uri = "direct:event")
private ProducerTemplate producer;
void method() {
producer.sendBodyAndHeaders("content", HashMapHeaders);
//Confirm the acknowledgement
}
答案 0 :(得分:0)
Camel确实支持发布商确认(请参阅official documentation),您只需将publisherAcknowledgements
属性设置为true
并可选择通过publisherAcknowledgementsTimeout
指定超时间隔来启用它们属性:
to("rabbitmq://localhost/A?routingKey=B&publisherAcknowledgements=true&publisherAcknowledgementsTimeout=10000")
请注意,support for this feature自Camel 2.17.0起可用。