RocketMqConfig

@Configuration
public class RocketMqConfig {

    private static final Logger logger = LoggerFactory.getLogger(RocketMqConfig.class);

    private static TransactionMQProducer transactionMQProducer;

    @Bean
    public TransactionMQProducer transactionMQProducer(Environment environment) {
        if (transactionMQProducer != null)
            return transactionMQProducer;

        transactionMQProducer = new TransactionMQProducer();
        transactionMQProducer.setNamesrvAddr(environment.getProperty("rocketmq.nameServerAddr"));
        transactionMQProducer.setProducerGroup(environment.getProperty("rocketmq.producerGroupName"));

        try {
            transactionMQProducer.start();
        } catch (MQClientException e) {
            logger.error("transactionMQProducer init failure, cause by :[{}]", e.getMessage());
        }

        return transactionMQProducer;
    }

    @PreDestroy
    public void release() {
        if (transactionMQProducer != null)
            transactionMQProducer.shutdown();
    }


}

posted @ 2018-04-02 17:55  小霖2012  阅读(889)  评论(0)    收藏  举报