目錄
- 前言
- 環境
- 搭建搭建
- 具體實作
- 編寫生産者(内容中心)
- 代碼
- 測試
- 編寫消費者(使用者中心)
- 項目源碼
前言
RocketMQ
是一款開源的分布式消息系統,基于高可用分布式叢集技術,提供低延時的、高可靠的消息釋出與訂閱服務
環境
win10 + Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + RocketMQ 4.7.0
搭建搭建
具體實作
編寫生産者(内容中心)
代碼
-
pom.xml
<!-- rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
-
application.yml
rocketmq:
name-server: 127.0.0.1:9876
producer:
group: producer-group
-
TestRocketController.java
import lombok.RequiredArgsConstructor;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/rocketmq")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TestRocketController {
private final RocketMQTemplate rocketMQTemplate;
@PostMapping("test")
public String test() {
rocketMQTemplate.convertAndSend(
"test-msg",
"突然活得潦草了。。。");
return "success";
}
}
測試
- 通路接口

-
控制台檢視RocketMQ
http://localhost:8088/#/message
- 消息詳情
編寫消費者(使用者中心)
-
pom.xml
<!-- rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
-
application.yml
rocketmq:
name-server: 127.0.0.1:9876
-
TestRocketConsumer.java
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;
@Service
@Slf4j
@RocketMQMessageListener(consumerGroup = "consumer-group", topic = "test-msg")
public class TestRocketConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String str) {
// TODO 業務處理
log.info("監聽到主題為'test-msg'的消息:" + str);
}
}
- 重新開機應用
- 控制台消費記錄
項目源碼
-
: https://github.com/Maggieq8324/coisini-cloud-alibabaGitHub
-
: https://gitee.com/maggieq8324/coisini-cloud-alibabaGitee
作者:Maggieq8324
本文版權歸作者所有,歡迎轉載,轉載時保留原作者和文章位址即可。