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
 

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