当前位置: 首页 > news >正文

Springboot 集成 RocketMq(入门)

1.RocketMq安装部署

Linux 安装 RocketMq-CSDN博客

2.添加依赖包

<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version>
</dependency>

3.配置

rocketmq:name-server: 127.0.0.1:9876# 生产者producer:group: group_one# 消息发送超时时间send-message-timeout: 30000# 消息最大长度4Mmax-message-size: 4096# 消息发送失败重试次数retry-times-when-send-failed: 3# 异步消息发送失败重试次数retry-times-when-send-async-failed: 2# 消费者consumer:group: group_one# 每次提取的最大消息数pull-batch-size: 5

4.生成者代码

@RestController
@Slf4j
public class ProducerController {@Resourceprivate RocketMQTemplate rocketMqTemplate;@Resourceprivate DefaultMQProducer defaultMqProducer;@GetMapping("/send/msg1/{messageBody}")public String sendMsg1(@PathVariable("messageBody") String messageBody) {// 发送消息rocketMqTemplate.convertAndSend("topic1", messageBody);return "OK";}@GetMapping("/send/msg2/{messageBody}")public String sendMsg2(@PathVariable("messageBody") String messageBody) {// 构建消息对象Message message = new Message();message.setTopic("topic2");message.setTags("boot-mq-tag");message.setKeys("boot-mq-key");message.setBody(messageBody.getBytes());// 发送消息,打印日志SendResult sendResult = null;try {sendResult = defaultMqProducer.send(message);log.info("sendMsg2 msgId:{},sendStatus:{}", sendResult.getMsgId(), sendResult.getSendStatus());} catch (Exception e) {log.info("sendMsg2 error", e);return "FAIL";}return "OK";}
}

5.消费者

package com.lhy.demo.rocketMq;import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;@Component
@RocketMQMessageListener(topic = "topic1", consumerGroup = "topic1")
@Slf4j
public class MyTopic1Consumer implements RocketMQListener<String> {@Overridepublic void onMessage(String message) {// 处理消息的逻辑log.info("Received topic1 message: {}", message);}}
package com.lhy.demo.rocketMq;import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;@Component
@RocketMQMessageListener(topic = "topic2", consumerGroup = "topic2")
@Slf4j
public class MyTopic2Consumer implements RocketMQListener<Message> {@Overridepublic void onMessage(Message message) {// 处理消息的逻辑log.info("Received topic2 message: {}", message);}}

http://www.lryc.cn/news/219689.html

相关文章:

  • Elasticsearch:ES|QL 中的数据丰富
  • 【linux编程】linux文件IO高级I/O函数介绍和代码示例
  • jQuery获取地址栏GET参数值
  • JAVA应用中线程池设置多少合适?
  • .Net Core 3.1 解决数据大小限制
  • 【音视频 | opus】opus编码的Ogg封装文件详解
  • 【微信小程序】自定义组件(一)
  • 如何通过一条数字人三维动画宣传片,打造出数字文旅
  • 【MongoDB】索引 - 数组字段的多键索引
  • 2023.11.5 关于 Spring 创建 和 使用
  • 3D目标检测实战 | 图解KITTI数据集评价指标AP R40(附Python实现)
  • 制作一个ros2机器人需要学习的课本(还不全面)
  • Qt OpenGL相机系统
  • 英语语音识别,语言评测,语音打分实践与代码实现
  • 【SpringBoot篇】SpringBoot整合Mybatis实战
  • android c++ 硬编码硬解码官方demo
  • Python之Excel数据相关
  • Ubuntu网络IP地址一直显示127.0.0.1
  • Vulnhub-DC-3 靶机复现完整过程
  • Dubbo篇---第三篇
  • Redis-使用java代码操作Redis->java连接上redis,java操作redis的常见类型数据存储,redis中的项目应用
  • react 使用笔记
  • Ubuntu下启动Apache对.htaccess 的支持步骤, 利用.htaccess绑定域名到子目录
  • C++常用格式化输出
  • QCC TX 音频输入切换+提示声音
  • 【Java】封装、继承、多态
  • 第九章 异常处理
  • (四) Python Pandas入门
  • 软件测试面试最经典的5个问题
  • 从公共业务提取来看架构演进——功能设置篇