我想用配置了超时的AMQP发布者确认来实现示例。像这样:
private final CountDownLatch confirmLatch = new CountDownLatch(1);
TransactionResponseFactory processingPeply = (TransactionResponseFactory) processingTransactionTemplate.convertSendAndReceive(
ContextServer.EXCHANGE_PROCESSING, ContextServer.ROUTING_KEY_PROCESSING_, tf);
if (processingTransactionTemplate.confirmLatch.await(10, TimeUnit.SECONDS)) {
System.out.println("Confirm received");
}
else {
System.out.println("Confirm NOT received");
// add some logic here to resend
}
实现它的正确方法是什么?
答案 0 :(得分:0)
RabbitTemplate.ConfirmCallback
。CorrelationData
对象(子类)中发送锁存器-发送操作中的额外参数。请记住,每次发送后等待确认将大大降低发布速度。
它的真正目的是发布一堆消息,然后等待它们的确认。
当然,设计取决于您的要求。