1.Maven依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
2.application.yml配置文件
# RocketMQ配置
rocketmq:
name-server: 127.0.0.1:9876
producer:
# 生产组名
group: jyfdct
# 消息发送超时时间
send-message-timeout: 3000
# 消息体阈值,4k以上会压缩
compress-message-body-threshold: 4096
# 在同步模式下发送失败之前在内部执行的最大重试次数。
retry-times-when-send-failed: 3
# 在异步模式下发送失败之前在内部执行的最大重试次数。
retry-times-when-send-async-failed: 3
# 消息阈值,最大4MB,在 4KB 之内性能最佳
max-message-size: 4096
3.控制台配置
1.主题队列配置
2.消费者队列配置(一般情况会自动生成你代码中对应生产者的消费者)
4.代码部分
1.先注入方法
@Autowired
private RocketMQTemplate rocketMQTemplate;
2.生产者
这里发送的是基础消息
@GetMapping("rocket")
public void rocketmain() {
String Json = "靳哥哥的测试消息";
rocketMQTemplate.convertAndSend("jyfdct",Json);
System.err.println("消息发送成功");
}
3.消费者
这里接收的是基础消息
@Component
@RocketMQMessageListener(
topic = "jyfdct",// topic:订阅的主题
consumerGroup = "test-group", // consumerGroup:消费者组名
selectorExpression = "*",// selectorExpression:控制可以选择的消息,可以使用SelectorType.SQL92语法。设置为 * 时,表示全部。
messageModel = MessageModel.CLUSTERING // messageModel: 控制消息模式。MessageModel.CLUSTERING:负载均衡;MessageModel.BROADCASTING:广播模式
)
public class RocketListen implements RocketMQListener<String> {
@Override
public void onMessage(String s) {
System.err.println("接受到消息");
try {
Thread.sleep(50);
}catch (InterruptedException e){
e.printStackTrace();
}
System.err.println(s+"接受成功");
}
}