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);//

    }

  

posted @ 2021-03-31 10:50  厚我  阅读(352)  评论(0编辑  收藏  举报