|
@@ -20,19 +20,20 @@ public class ProducerCallback implements RabbitTemplate.ConfirmCallback,RabbitTe
|
|
|
|
|
|
//confirms模式:无论exchange投递消息是成功或是失败,都会返回ack,我们可以根据返回的ack是成功还是失败,做相应的业务处理
|
|
|
@Override
|
|
|
- public void confirm(CorrelationData correlationData, boolean b, String s) {
|
|
|
+ public void confirm(CorrelationData correlationData, boolean ack, String cause) {
|
|
|
//投递成功
|
|
|
- if(b){
|
|
|
+ if(ack){
|
|
|
log.info("消息投递成功,id:{}", correlationData.getId());
|
|
|
return;
|
|
|
}
|
|
|
//投递失败
|
|
|
- log.error("消息投递失败,id:{}", correlationData.getId());
|
|
|
+ log.error("消息投递失败,id:{},失败原因:{}", correlationData.getId(), cause);
|
|
|
}
|
|
|
|
|
|
//return模式:只有exchange投递消息失败时,才会执行回调函数,来做一些相应的业务处理
|
|
|
@Override
|
|
|
- public void returnedMessage(Message message, int i, String s, String s1, String s2) {
|
|
|
+ public void returnedMessage(Message returnedMessage, int replyCode, String replyText, String exchange, String routingKey) {
|
|
|
+ log.info("消息从Exchange路由到Queue失败: exchange: {}, route: {}, replyCode: {}, replyText: {}, message: {}", exchange, routingKey, replyCode, replyText, returnedMessage);
|
|
|
|
|
|
}
|
|
|
}
|