【发布时间】:2017-02-12 10:01:26
【问题描述】:
我试图弄清楚如何在 java 中确认消息,但我不明白。
这是官方的 RabbitMQ 示例:
http://hg.rabbitmq.com/rabbitmq-java-client/file/default/test/src/com/rabbitmq/examples/ConfirmDontLoseMessages.java
问题是他们使用 10000 条消息发送到队列,然后才等待确认所有消息。我需要发送 1 条消息,每个线程只发送一条消息并确认(在我的情况下,我有几个平等的发布者必须不时发送消息)。如何确认一条消息(不是确认所有消息)?
我需要类似的东西:
for (long i = 0; i < MSG_COUNT; ++i) {
ch.basicPublish("", QUEUE_NAME,
MessageProperties.PERSISTENT_BASIC,
"nop".getBytes());
ch.wait_for_confirm();
if(ch.isConfirmed){
//OK
}
else{
//Republish
}
}
【问题讨论】:
标签: java queue rabbitmq client confirmation