Spring Boot 2.X - Spring Boot整合RocketMQ
Spring Boot 2 整合 RocketMQ入門實戰。本文Spring Boot版本:
2.1.4.RELEASE
,RocketMQ使用官方的最新的Starter,版本爲:2.0.2
。
引入依賴
新建SpringBoot項目,引入如下依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
編寫配置
需要啓動RocketMQ服務,具體安裝啓動請參閱 Windows安裝配置RocketMQ
server:
port: 80
rocketmq:
name-server: 127.0.0.1:9876 # 自己的RocketMQ服務地址
producer:
send-message-timeout: 300000
group: my-group
編寫接口
對外暴露一個接口用於發送消息
@RestController
public class ProducerController {
@Resource
private RocketMQTemplate rocketMQTemplate;
@GetMapping("/send")
public String send(String msg) {
rocketMQTemplate.convertAndSend("test-topic",msg);
return "success";
}
}
消費監聽
消費者需要實現RocketMQListener<T>
接口:
@Service
@RocketMQMessageListener(consumerGroup = "my-consumer_test-topic", topic = "test-topic")
public class RocketConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String message) {
System.err.println("接收到消息:" + message);
}
}
啓動測試
啓動服務,並訪問發送消息:
我們看到控制檯接收到並打印出發送的消息了。
項目地址
完整代碼:GitHub