当测试方法结束,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);// }