• SpringCloudAlibaba


    前言

    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>
    
    • 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);
        }
    }
    

    测试

    • 重启应用

    在这里插入图片描述

    • 控制台消费记录

    在这里插入图片描述


    项目源码


    - End -
    白嫖有风险
    点赞加收藏
    以上为本篇文章的主要内容,希望大家多提意见,如果喜欢记得点个推荐哦
    作者:Maggieq8324
    本文版权归作者和博客园共有,欢迎转载,转载时保留原作者和文章地址即可。
  • 相关阅读:
    JQUERY
    五分钟技术演讲
    T-SQL基础--chp10可编程对象学习笔记[下]
    SQL中用SET赋值和用SELECT赋值的区别。
    Can't find file: './mysql/plugin.frm' (errno: 13)[mysql数据目录迁移错位]错误解决
    jetty属性
    JRebel 5.3.2
    vue+mongoodb+node连接数据库
    css样式
    超出文本显示一行文字
  • 原文地址:https://www.cnblogs.com/maggieq8324/p/15349909.html
Copyright © 2020-2023  润新知