栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloudAlibaba - 整合 RocketMQ 实现消息生产与消费

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloudAlibaba - 整合 RocketMQ 实现消息生产与消费

目录
  • 前言
    • 环境
    • 搭建搭建
  • 具体实现
    • 编写生产者(内容中心)
      • 代码
      • 测试
    • 编写消费者(用户中心)
      • 代码
      • 测试
  • 项目源码

前言

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


环境

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


搭建搭建

关于MQ与RocketMQ的环境搭建查看之前的文章

  • MQ的适用场景、选择、术语和概念
  • Windows下安装RocketMQ

具体实现 编写生产者(内容中心) 代码
  • pom.xml

    org.apache.rocketmq
    rocketmq-spring-boot-starter
    2.1.1

  • 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

    org.apache.rocketmq
    rocketmq-spring-boot-starter
    2.1.1

  • 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 {
    @Override
    public void onMessage(String str) {
        // TODO 业务处理
        log.info("监听到主题为'test-msg'的消息:" + str);
    }
}

测试
  • 重启应用

  • 控制台消费记录



项目源码
  • GitHub: https://github.com/Maggieq8324/coisini-cloud-alibaba
  • Gitee: https://gitee.com/maggieq8324/coisini-cloud-alibaba

- End -
白嫖有风险
点赞加收藏
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号