RocketMq(三)-springboot项目访问

前两篇记录了RocketMq下载安装与启动、面板搭建与问题解决:

本篇记录用java项目访问消息队列,使用Springboot项目,创建一个项目rocket-demo,再创建两个module:producer、consumer,生产者发送一个简单的字符串,消费者接受并打印,一个很简单的例子。
为简单操作,两个module都以rocketmq-demo为父项目,依赖统一在rocketmq-demo的pom文件中引入。

一、引入依赖

在项目(rocketmq-demo)最外层pom中引入依赖:

  • SpringBoot相关依赖及版本管理(根据自己习惯就好): spring-boot-starter、spring-boot-starter-web
  • rockermq起步依赖
<!--rockermq-->
<dependency>
     <groupId>org.apache.rocketmq</groupId>
     <artifactId>rocketmq-spring-boot-starter</artifactId>
     <version>2.2.2</version>
 </dependency>
  • lombok

二、编写生产者代码

1、配置文件application.yml

spring:
  application:
    name: producer
    
server:
  port: 5125
  
rocketmq:
  name-server: localhost:9876
  producer:
    group: zrk-producer

其中name-server为自己安装的rocketmq的name server访问地址
2、编写代码

@RequestMapping("name")
@RestController
public class NameController {

    @Resource
    private RocketMQTemplate rocketMQTemplate;

    @GetMapping("send")
    public String sendName(String name) {
        rocketMQTemplate.convertAndSend("send-name", name);
        return "发送成功:" + name;
    }
}

注:(1)直接引入RocketMQTemplate进行访问 (2)"send-name"为topic名称

三、编写消费者代码

1、配置文件application.yml

spring:
  application:
    name: consumer
    
server:
  port: 5124
  
rocketmq:
  name-server: localhost:9876

其中name-server为自己安装的rocketmq的name server访问地址
2、编写代码

@Slf4j
@Service
@RocketMQMessageListener(consumerGroup = "zrk-consumer", topic = "send-name")
public class NameListener implements RocketMQListener<String> {
    @Override
    public void onMessage(String s) {
        log.info("收到名称:{}", s);
    }
}

注:(1)consumerGroup必须设置,否则报错 (2) topic必须与生产者保持一致

四、访问调试

1、启动并访问生产者接口

postman访问:
在这里插入图片描述

2、查看RocketMq面板

打开面板->消息->选择topic:send-name->点击搜索:
在这里插入图片描述
点击MESSAGE DETAIL
在这里插入图片描述

3、启动消费者

在这里插入图片描述
看到打印出日志
再看消息队列信息详情:
在这里插入图片描述
可以看到状态为已被消费

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值