我想测试行为春季rabbitmq确认回调,根据api描述如果任何否定确认通过消费者发送,确认回调应该给出确认的虚假值,但在我的情况下总是给出真实的。即使我将消息发布到已删除的队列,我在确认回调中获得了真正的价值。请让我知道如何得到否定的承认。春季RabbitMQ确认回调没有按预期工作
下面是我如何创建RabbitTemplate bean的代码。
@Bean
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
((CachingConnectionFactory)rabbitTemplate.getConnectionFactory()).setPublisherConfirms(true);
rabbitTemplate.setConfirmCallback(new ConfirmCallback() {
@Override
public void confirm(CorrelationData corData, boolean ack, String cause) {
System.out.println("devconfig.rabbitTemplate(...).new ConfirmCallback() {...}.confirm()"+corData);
System.out.println("devconfig.rabbitTemplate(...).new ConfirmCallback() {...}.confirm()"+ack);
}
});
return rabbitTemplate;
}