RabitMQ集成springboot工具类

1、MQ生产者 


@Component
public class RabbitSender {
    private static final Logger log = LoggerFactory.getLogger(RabbitSender.class);
    @Autowired
    private RabbitTemplate rabbitTemplate;
    ConfirmCallback confirmCallback = new ConfirmCallback() {
        public void confirm(CorrelationData correlationData, boolean ack, String cause) {
            RabbitSender.log.info("correlationData:" + correlationData);
            RabbitSender.log.info("ack:" + ack);
            if (!ack) {
                RabbitSender.log.error("异常处理...");
            }

        }
    };
    ReturnCallback returnCallback = new ReturnCallback() {
        public void returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey) {
            RabbitSender.log.info("return exchange: " + exchange + ",routingKey:" + routingKey);
        }
    };

    public RabbitSender() {
    }

    public void simpleSend(String exchange, String routingKey, String message, Map<String, Object> properties) throws Exception {
        if (properties == null) {
            properties = new HashMap(2);
        }

        ((Map)properties).put("routingKey", routingKey);
        Message msg = (Message)MessageBuilder.withBody(message.getBytes()).setContentType("text/plain").setContentEncoding("utf-8").copyHeaders((Map)properties).build();
        this.rabbitTemplate.convertAndSend(exchange, routingKey, msg);
    }

    public RabbitTemplate getRabbitTemplate() {
        return this.rabbitTemplate;
    }

    public void setRabbitTemplate(RabbitTemplate rabbitTemplate) {
        this.rabbitTemplate = rabbitTemplate;
    }
}

2、MQ消费者

@Component
@Slf4j
public class ReceiverWorkerOrderMessage {

    public static final long WORK_ORDER_SAVE_TIME=12*60*60;

    @Autowired
    RedisUtils redisUtils;
    @Autowired
    IcsWorkOrderDao icsWorkOrderDao;

    @RabbitListener(queues = {"${mq.config.queue.workorder_queue}"})
    public void saveWorkOrder(Message message, Channel channel) throws IOException {
        String body = new String(message.getBody(), "utf-8");
        //业务代码
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值