package com.snowalker.order.mq.notify.producer; import com.snowalker.order.charge.message.constant.MessageProtocolConst; import com.snowalker.order.common.util.LogExceptionWapper; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** * @author snowalker * @version 1.0 * @date 2019/6/12 11:35 * @className SendOrderNotifyProducer * @desc 订单通知发送生产者 */ @Component public class OrderNotifySendProducer { private static final Logger LOGGER = LoggerFactory.getLogger(OrderNotifySendProducer.class); @Value("${rocketmq.nameServer}") String nameSrvAddr; private DefaultMQProducer defaultMQProducer; @PostConstruct public void init() { defaultMQProducer = new DefaultMQProducer(MessageProtocolConst.ORDER_RESULT_NOTIFY_TOPIC.getProducerGroup()); defaultMQProducer.setNamesrvAddr(nameSrvAddr); try { defaultMQProducer.start(); } catch (MQClientException e) { LOGGER.error("[订单通知发送生产者]--OrderNotifySendProducer加载异常!e={}", LogExceptionWapper.getStackTrace(e)); throw new RuntimeException("[订单通知发送生产者]--OrderNotifySendProducer加载异常!", e); } LOGGER.info("[订单通知发送生产者]--OrderNotifySendProducer加载完成!"); } public DefaultMQProducer getProducer() { return defaultMQProducer; } }