一. 配置
1. 添加依赖
直接添加rocketmq的 starter包,版本根据springboot的版本来,
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
2. 配置文件
rocketmq:
name-server: 192.168.17.101:9876;192.168.17.102:9876
producer:
group: group2
需要指定nameServer集群地址,以及group。
二. 发送消息
我们使用单元测试方法进行消息发送,这里比较核心的类是RocketMQTemplate,类似redis的模板,都是一个套路,引入就可以直接用了:
@Autowired
private RocketMQTemplate rocketMQTemplate;
@Test
public void produceMsg() {
rocketMQTemplate.convertAndSend("springboot-rocketmq", "hello springboot mq");
}
发送消息的方法有很多种,这里是最简单的
三. 接收消息
消费者和生产者属于两个应用,应该是两个工程,配置只需要指定nameserver:
rocketmq:
name-server: 192.168.17.101:9876;192.168.17.102:9876
下面是消费者代码:
@RocketMQMessageListener(consumerGroup = "group2", topic = "springboot-rocketmq")
@Component
public class Consumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.out.println(message);
}
}
说明:
- 首先消费者要实现接口RocketMQListener,并且指定消息类型;因为我们发送的是字符串,所以就是String;
- 然后消费者要使用@RocketMQMessageListener注解修饰,并指定分组、topic;
然后,启动应用,然后再运行生产者的单元测试代码,消费者就会收到如下消息: