赞
踩
说明:
RabbitMq提供了两种消息发送者确认模式分别为: ConfirmCallback确认模式和 ReturnCallback退回模式。
- @Component
- public class RabbitConfirmConfig implements ConfirmCallback
- {
- private Logger logger = LoggerFactory.getLogger(RabbitConfirmConfig.class);
-
- public void confirm(CorrelationData correlationData, boolean ack,
- String cause)
- {
- logger.info("数据内容:{}",correlationData);
- logger.info("是否确认成功:{}",ack);
- logger.info("错误原因:{}",cause);
- if (!ack)
- {
- logger.info("exchange produce confirm message send error" + cause);
- }
- else
- {
- logger.info("exchange produce confirm message send success");
- }
- }
- }
-
- 复制代码

说明:ConfirmCallback模式确认,需要重写confirm接方法,此方法的三个参数分别为:CorrelationData、ack、cause
虽然消息被broker接收到只能表示已经到达MQ服务器,但是并不能保证消息一定会被投递到目标 queue里。所以我们需要实现returnCallback来进行相关处理。
- @Component
- public class RabbitReturnConfig implements ReturnCallback
- {
- private Logger logger = LoggerFactory.getLogger(RabbitReturnConfig.class);
-
- public void returnedMessage(Message message, int replyCode,
- String replyText, String exchange, String routingKey)
- {
- logger.info("消息发送送到队列信息:");
- logger.info("发生消息:{}",message);
- logger.info("回应码:{}",replyCode);
- logger.info("回应信息:{}",replyText);
- logger.info("交换机:{}",exchange);
- logger.i
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。