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