SpringBoot集成RocketMQ——基於Spring模型消息收發

本文將介紹SpringBoot集成RocketMQ基於Spring模型進行消息收發

1. RocketMQ安裝

參考 https://www.imooc.com/article/290089

2. RocketMQ控制檯安裝

參考 https://www.imooc.com/article/290092

3. 實戰

3.1 具體環境

SpringBoot版本2.2.1
RocketMQ版本4.5.1

3.2 新建一個名爲spring-boot-rocketmq項目

創建項目步驟省略

3.3 添加依賴

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.0.3</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
    <scope>provided</scope>
</dependency>

3.4 創建生產者

@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MessageProducer {

    private final RocketMQTemplate rocketMQTemplate;

    public final static String TOPIC = "thyme";

    public void sendMessage(String message) {
        //發送消息
        log.info("發送的信息爲:"+ message);
        this.rocketMQTemplate.convertAndSend(TOPIC,message);

    }

}

3.5 創建消費者

@Slf4j
@Service
@RocketMQMessageListener(topic = MessageProducer.TOPIC,consumerGroup = "consumer-group")
public class MessageConsumer implements RocketMQListener<String> {

    @Override
    public void onMessage(String s) {
        log.info("接收到的信息爲:"+ s);
    }
}

3.6 修改yml文件

server:
  port: 8200
rocketmq:
  name-server: 192.168.208.18:9876
  producer:
    group: producer-group

3.7 創建一個Controller

@RestController
@RequestMapping("/mq")
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class MqTestController {

    private final MessageProducer messageProducer;

    @RequestMapping("/sendMessage")
    public String sendMessage(@RequestParam String message) {
        messageProducer.sendMessage(message);
        return "ok";
    }
}

3.8 驗證

請求接口查看控制檯輸出

2019-12-03 21:35:56.023  INFO 14916 --- [nio-8200-exec-9] com.thyme.rocketmq.MessageProducer       : 發送的信息爲:aaa
2019-12-03 21:35:56.091  INFO 14916 --- [MessageThread_7] com.thyme.rocketmq.MessageConsumer       : 接收到的信息爲:aaa

3.9 源碼地址

https://gitee.com/thymeXd/spring-boot-rocketmq
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章