不废话,上干货。
RocketMQ 主要安装可以直接从官方下载,安装教程随处可查,这里主要结合业务实战应用,只为小伙伴节约成本,快速掌握学习。
pom.xml
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.4.0</version>
</dependency>
application.yml
rocketmq:
producer:
groupName: group1 # 正式组 CLOUD_PRO
topic: topic1 # 正式主题 orderForm
tag: tag1 # 正式tag orderForm_tag1
namesrvAddr: *************:9876 # rocketmq的nameserver地址
maxMessageSize: 65536 # 消息最大长度 默认1024*4(4K)单位是字节byte
sendMsgTimeout: 3000 # 发送消息超时时间,默认3000
retryTimesWhenSendFailed: 2 # 发送消息失败重试次数,默认2
生产者:
@Component
public class ProducerConfiguration {
/**
* 发送同一类消息的设置为同一个group,保证唯一,默认不需要设置,rocketmq会使用ip@pid(pid代表jvm名字)作为唯一标示
*/
@Value("${rocketmq.producer.groupName}")
private String groupName;
@Value("${rocketmq.producer.namesrvAddr}")
private String namesrvAddr;
/**
* 消息最大大小,默认4M
*/
@Value("${rocketmq.producer.maxMessageSize}")
private Integer maxMessageSize ;
/**
* 消息发送超时时间,默认3秒
*/
@Value("${rocketmq.producer.sendMsgTimeout}")
private Integer sendMsgTimeout;
/**
* 消息发送失败重试次数,默认2次
*/
@Value("${rocketmq.producer.retryTimesWhenSendFailed}")
private Integer retryTimesWhenSendFailed;
public DefaultMQProducer getRocketMQProducer() {
/*if(StringUtil.isEmpty(this.groupName)){
throw new RocketMQException(RocketMQErrorEnum.PARAMM_NULL,"groupName is blank",false);