clean channel shutdown
当测试方法结束,rabbitmq相关的资源也就关闭了,虽然我们的消息发送出去,但异步的ConfirmCallback却由于资源关闭而出现了上面的问题
@Test
void testConfirm() throws InterruptedException {
//定义回调
rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {
/**
*
* @param correlationData 相关配置信息
* @param ack exchange交换机 是否成功收到了消息。true 成功,false代表失败
* @param cause 失败原因
*/
@Override
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
System.out.println("confirm 执行了...");
if (ack) {
System.out.println("exchange接收消息成功..." + cause);
} else {
System.out.println("exchange接收消息失败..." + cause);
}
}
});
//发送消息
rabbitTemplate.convertAndSend(RoutingProducerConfig.ROUTING_EXCHANGE, "error...", "error routing springboot too hard....");
Thread.sleep(20000);//
}
浙公网安备 33010602011771号