1234567891011121314151617181920212223242526272829303132333435363738 |
- package com.fdkankan.rabbitmq.callback;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.amqp.core.Message;
- import org.springframework.amqp.rabbit.connection.CorrelationData;
- import org.springframework.amqp.rabbit.core.RabbitTemplate;
- import org.springframework.stereotype.Component;
- /**
- * <p>
- * TODO
- * </p>
- *
- * @author dengsixing
- * @since 2022/4/19
- **/
- @Slf4j
- @Component
- public class ProducerCallback implements RabbitTemplate.ConfirmCallback,RabbitTemplate.ReturnCallback {
- //confirms模式:无论exchange投递消息是成功或是失败,都会返回ack,我们可以根据返回的ack是成功还是失败,做相应的业务处理
- @Override
- public void confirm(CorrelationData correlationData, boolean b, String s) {
- //投递成功
- if(b){
- log.info("消息投递成功,id:{}", correlationData.getId());
- return;
- }
- //投递失败
- log.error("消息投递失败,id:{}", correlationData.getId());
- }
- //return模式:只有exchange投递消息失败时,才会执行回调函数,来做一些相应的业务处理
- @Override
- public void returnedMessage(Message message, int i, String s, String s1, String s2) {
- }
- }
|