请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,rabbitTemplate.setReturnCallback()被执行后,消费者还是可以消费到消息

老师rabbitTemplate.setReturnCallback()被执行后消费者还是可以消费到消息这个是什么原因呢

 rabbitTemplate.convertAndSend(RabbitConstants.DELAY_SIGN_EXCHANGE,
                RabbitConstants.DELAY_SIGN_ROUTE_KEY, msgBody, msg -> {
                    //指定消息为持久化消息
                    msg.getMessageProperties().setDeliveryMode(MessageDeliveryMode.PERSISTENT);
                    //消息延迟时间
                    msg.getMessageProperties().setHeader("x-delay", seconds * 1000);
                    return msg;
                }, cData);
        rabbitTemplate.setConfirmCallback((correlationData, ack, cause) -> {
            if (ack) {
                log.info("ack success correlationData: {} cause: {}", correlationData, cause);
            } else {
                //TODO 回调
                log.error("nack correlationData: {}, cause: {}", correlationData, cause);
            }
        });
        rabbitTemplate.setReturnCallback((message, replyCode, replyText, exchange, routingKey) -> {
            log.error("消息体: {}, 响应码: {}, 响应信息: {}, 交换机: {}, 路由key: {}", message, replyCode, replyText, exchange, routingKey);
            //TODO 回调
        });
[ INFO ] [2020-04-11 11:50:15] com.wusong.task.service.impl.TaskServiceImpl [82] - ack success correlationData: CorrelationData [id=90216382859313152] cause: null
[ ERROR] [2020-04-11 11:50:15] com.wusong.task.service.impl.TaskServiceImpl [89] - 消息体: (Body:'[B@761180cb(byte[329])' MessageProperties [headers={spring_returned_message_correlation=90216382859313152}, contentType=application/x-java-serialized-object, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, deliveryTag=0]), 响应码: 312, 响应信息: NO_ROUTE, 交换机: ws.delay.exchange, 路由key: ws.delay.route.#
[ INFO ] [2020-04-11 11:50:54] com.wusong.task.service.impl.TaskServiceImpl [108] - 消费者接受消息=MessageBody(source=1, receiveTime=2020-04-11T11:50:55, ackTime=null, message=哇哈哈哈哈哈SDSDSDSD)

正在回答

1回答

callback 只是生产者发送成功后 rabbitmq 集群broker 给你返回的应答ack ,说明消息已经投递成功或者失败了。消费者当然可以消费消息了

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号