一、下载RocketMQ
1、配置环境变量
新建系统变量
ROCKETMQ_HOME
D:\rocketmq4.9.6
2、path中添加
%ROCKETMQ_HOME%\bin
3、启动MQ(两个终端不要关闭)
rocketmq下载目录下bin目录双击mqnamesrv.cmd
cmd窗口运行 mqbroker.cmd -n localhost:9876
二、Springboot 集成 RocketMQ
1、pom.xml
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
2、application.yml
rocketmq:
name-server: 127.0.0.1:9876
producer:
# 生产组名
group: demoGroup
# 消息发送超时时间
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、rocketmqTest 发送消息
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
/**
* @author LINK
*/
@SpringBootTest
public class rocketmqTest {
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Test
public void send(){
//创建一条消息对象,指定其主题、标签和消息内容
rocketMQTemplate.sendOneWay("userOrder:t1","hello");
}
@Test
public void send2(){
//创建一条消息对象,指定其主题、标签和消息内容
rocketMQTemplate.sendOneWay("Order:t1","hello");
}
}
4、RocketMqConsumer
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
/**
* Consumer
*/
@Service
@RocketMQMessageListener( consumerGroup = "rocketMQProducer", //消费者组名
topic = "userOrder", //订阅的主题
selectorExpression = "t1") //控制可以选择的消息)
public class StringConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.printf("------- StringConsumer received: %s \n", message);
}
}
三、Rocketmq-dashboard
1、下载rocketmq-dashboard
用idea打开,跳过测试 打包
2、编译
java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar启动