当前位置:   article > 正文

SpringCloudAlibaba - 整合 RocketMQ 实现消息生产与消费_springcloud alibaba 集成rocketmq

springcloud alibaba 集成rocketmq

前言

RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务


环境

win10 + Spring Cloud Hoxton.SR9 + Spring Cloud Alibaba 2.2.6.RELEASE + RocketMQ 4.7.0


搭建搭建

关于MQRocketMQ的环境搭建查看之前的文章


具体实现

编写生产者(内容中心)

代码

  • pom.xml
<!-- rocketmq -->
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • application.yml
rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: producer-group
  • 1
  • 2
  • 3
  • 4
  • 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";
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

测试

  • 访问接口

在这里插入图片描述


  • 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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • application.yml
rocketmq:
  name-server: 127.0.0.1:9876
  • 1
  • 2
  • 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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

测试

  • 重启应用

在这里插入图片描述

  • 控制台消费记录

在这里插入图片描述



项目源码


- End -
- 个人学习笔记 -
- 仅供参考 -

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/712988
推荐阅读
相关标签
  

闽ICP备14008679号