//package com.fdkankan.modeling.config; // //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.context.annotation.Bean; //import org.springframework.context.annotation.Configuration; // //@Configuration //public class MQProducerConfig { // // private static Logger log = LoggerFactory.getLogger(MQProducerConfig.class); // // @Value("${rocketmq.name-srv-addr}") // private String nameSrvAddr; // @Value("${rocketmq.producer.group.testGrop}") // private String producerGroupName; // /** // * 消息最大大小,默认4M // */ // @Value("${rocketmq.producer.maxMessageSize}") // private Integer maxMessageSize; // /** // * 消息发送超时时间,默认3秒 // */ // @Value("${rocketmq.producer.sendMsgTimeout}") // private Integer sendMsgTimeout; // /** // * 消息发送失败重试次数,默认2次 // */ // @Value("${rocketmq.producer.retryTimesWhenSendFailed}") // private Integer retryTimesWhenSendFailed; // // /** // * 初始化向rocketmq发送普通消息的生产者 // */ // @Bean("ModelingProducer") // public DefaultMQProducer testProducer() throws MQClientException { // /* // * 一个应用创建一个Producer,由应用来维护此对象,可以设置为全局对象或者单例
// * 注意:ProducerGroupName需要由应用来保证唯一
// * ProducerGroup这个概念发送普通的消息时,作用不大,但是发送分布式事务消息时,比较关键, // * 因为服务器会回查这个Group下的任意一个Producer // */ // DefaultMQProducer producer = new DefaultMQProducer(producerGroupName); // producer.setInstanceName(producerGroupName); // producer.setNamesrvAddr(nameSrvAddr); // //设置 lnstanceName,当一个 Jvm 需要启动多个 Producer 的时候,通过设置不同的 InstanceName来区分,不设置的话系统使用默认名称“DEFAULT” //// producer.setInstanceName(properties.getProducerInstanceName()); // producer.setVipChannelEnabled(false); // //发送消息超时时间,默认3000 // producer.setSendMsgTimeout(sendMsgTimeout); // //发送消息失败重试次数,默认2 // producer.setRetryTimesWhenSendAsyncFailed(retryTimesWhenSendFailed); // //消息最大长度 默认1024*1024*4(4M) // producer.setMaxMessageSize(maxMessageSize); // /* // * Producer对象在使用之前必须要调用start初始化,初始化一次即可
// * 注意:切记不可以在每次发送消息时,都调用start方法 // */ // producer.start(); // log.info("RocketMq " + this + " Started."); // return producer; // } // // // //}