rocketmq消息注解基于springboot的简单应用及默认详细配置

news/2025/3/16 5:51:24/

概述

        rocketmq消息组件在springboot框架中的应用,使用rocketmq的整合包进行编码实现。

编码参考

  • 引入rocketmq依赖jar, 最新版本参考GitHub - apache/rocketmq-spring: Apache RocketMQ Spring Integration
        <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId><version>2.2.3</version></dependency>
  • 基本配置
rocketmq:name-server: 192.168.15.175:9876;192.168.15.77:9876producer:group: ta-cipher-encode

rocketmq.name-server:  rocketmq集群地址,单点或集群

rocketmq.producer.group : 生产者组名,用于标识一组具有相同功能的生产者

  • 其他配置

Name Server相关配置:
        rocketmq.namesrv.domain:Name Server的域名,用于自动发现Name Server地址。

Producer相关配置:
        rocketmq.producer.group:生产者组名,用于标识一组具有相同功能的生产者。
        rocketmq.producer.send-msg-timeout:发送消息的超时时间,默认为3秒。
        rocketmq.producer.compress-msg-body-over-howmuch:消息体大于指定字节大小时启用压缩。

Consumer相关配置:
        rocketmq.consumer.group:消费者组名,用于标识一组具有相同功能的消费者。
        rocketmq.consumer.consume-thread-min:消费者线程池的最小线程数。
        rocketmq.consumer.consume-thread-max:消费者线程池的最大线程数。
        rocketmq.consumer.consume-message-batch-max-size:批量消费消息时每次拉取的最大消息数量。
        rocketmq.consumer.pull-interval:拉取消息间隔时间,默认为0,表示尽可能快地拉取消息。

Message相关配置:
        rocketmq.message.max-size:消息的最大大小,默认为4MB。
        rocketmq.message.compress-level:消息压缩级别,可选值为0(不压缩)到9(最高压缩率)。
        rocketmq.message.timeout:消息的过期时间,默认为3天。

集群模式相关配置:
        rocketmq.broker.cluster.name:Broker集群的名称。
        rocketmq.broker.cluster.slave-read-only:Slave节点是否只读,默认为true。

  • 生产端代码
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@Component
@Slf4j
public class RmqProvdier{@Autowiredprivate RocketMQTemplate rocketMQTemplate;public boolean send(String message) {try {// 发送消息rocketMQTemplate.convertAndSend("ta-cipher-persist", message);} catch (Exception e) {log.error("send message:{}", message, e);return false;}return true;}
}
  • 消费端代码
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
@Slf4j
@RocketMQMessageListener(topic = "ta-cipher-persist", consumerGroup = "ta-cipher-encode")
public class RocketMQConsumer implements RocketMQListener<String> {@Overridepublic void onMessage(String message) {try {log.info("message:{}", message);} catch (Exception e) {log.error("errorMessage:{}", message);// 抛出异常会重新消费消息throw new RuntimeException("Message processing failed", e);}}
}

@RocketMQMessageListener参数

  • topic 消费这从那个topic中读取消息
  • consumerGroup 当前消费者的消费组

http://www.ppmy.cn/news/243330.html

相关文章

初学SpringBoot—01

注明&#xff1a;本人学习来源SpringForAll社区资料 我看到的资料中的springboot和idea版本较低&#xff0c;所以我这里在我学习后&#xff0c;理解并掌握的基础上将我用到的IDEA2022版本和Maven3.8.6做一个记录 学习SpringBoot前最好学习一下Maven和SSM框架 一、新建SpringBo…

8086_14个寄存器

8086有14个寄存器&#xff1a;AX,BX,CX,DX,SP,BP,SI,DI,DS,ES,SS,CS,IP,flags。 // 以下为这14个寄存器的速查表。要记清楚每个寄存器的详细用法&#xff0c;还是多写代码&#xff0c;汇编&#xff1a;王爽-汇编 如图&#xff1a;在debug下用r命令查看各个寄存器Register&…

Spring架构篇--2.7.1 远程通信基础--Netty原理--NioEventLoopGroup

前言&#xff1a;在使用Netty 时不管是服务端还是客户端都需要 new NioEventLoopGroup 对象进行工作&#xff0c;NioEventLoopGroup的作用是什么呢&#xff1b; 1 NioEventLoopGroup 类图&#xff1a; 从类名字来看它是一个Nio 流的事件轮询器组&#xff0c;既然是一组顾名思…

【微机接口】8086中断指令

4个指令 开中断指令STI&#xff1a;F寄存器中I标志置1&#xff0c;CPU处于开中断 I标志用于控制CPU是否响应来自引脚INTR的可屏蔽中断请求。I为0表示CPU不响应可屏蔽中断请求。 关中断指令CLI&#xff1a;F寄存器中I标志置0&#xff0c;CPU处于关中断 软件中断指令INT n n…

8086的编程结构

8086的编程结构 8086是Intel系列的的16位微处理器&#xff0c;有16根数据线和20根地址线。因为可用20位地址&#xff0c;所以可寻址的地址空间达220字节即1MB。 几乎在推出8086微处理器的同时&#xff0c;为了与当时已有的一整套Intel外围设备接口芯片直接兼容&#xff0c;In…

8086指令系统(8086基本知识点)

目录 一.指令的寻址 1 操作数寻址 1.1 立即数寻址 1.2 寄存器寻址 1.3 直接寻址 1.4 寄存器间接寻址 1.5 寄存器相对寻址 1.6 隐含寄存器的操作数 2 指令地址寻址 二.8086指令系统 1 数据传送指令 1.1通用传送指令MOV 1.2堆栈操作指令PUSH与POP 1.3交换指令 XCHG…

微机原理——16位微处理器8086/8088CPU

8086/8088CPU 期末考试要求 Intel 8086CPU的结构&#xff1a;执行部件及总线接口部件 执行部件总线接口部件标志位20位的地址加法器 存储器结构 ROM、RAM按字节编址&#xff0c;最大地址空间为 2 n 2^n 2n个字节存储器的分段&#xff08;段基址、段边界、偏移量&#xff09;物…

【沧海拾昧】微机原理:8086/8088中断系统

#C0305 沧海茫茫千钟粟&#xff0c;且拾吾昧一微尘 ——《沧海拾昧集》CuPhoenix 【阅前敬告】 沧海拾昧集仅做个人学习笔记之用&#xff0c;所述内容不专业不严谨不成体系 如有问题定为本集记录有谬&#xff0c;切勿深究 目录 一、中断分类 1、外部中断&#xff08;硬件终…