# rabbitmq-spring-boot-start **Repository Path**: BigBigFeiFei/rabbitmq-spring-boot-start ## Basic Information - **Project Name**: rabbitmq-spring-boot-start - **Description**: rabbitMq启动器 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2024-03-15 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rabbitmq-spring-boot-start rabbitmq-spring-boot-start启动器
1. 项目中引入依赖如下:
``` io.gitee.bigbigfeifei rabbitmq-spring-boot-start 1.0 ``` 2. nacos配置如下:
``` ## 配置需要保证唯一不重复(eqps中的每一的index唯一,一般配置成递增的,队列交换机绑定关系的bean注入都是根据rps的List下标+eqps中index下标注入保证了唯一性) zlf: rabbit: rps: ## 如果virtual-host不同,在配置一个即可,addresses不同也是可以在配置,eqps的下标以之对应上即可 - rabbitmq: virtual-host: /dyict-uat addresses: 192.168.40.61 port: 5672 username: "admin" password: "admin" - rabbitmq: virtual-host: /test addresses: 192.168.40.60 port: 5672 username: "admin" password: "admin" - rabbitmq: virtual-host: /test2 addresses: 192.168.40.60 port: 5672 username: "admin" password: "admin" eqps: ## 下标递增且唯一 - index: 0 eqs: - function-type: Delay delay-type: 1 exchange-type: custom exchange-name: zlf.delay.test1 queue-name: delay.test1 routing-key: delay.test1.key exchange-args: x-delayed-type: direct queue-args: {} - function-type: Normal delay-type: 0 exchange-type: direct exchange-name: zlf.normal.test1 queue-name: normal.test1 routing-key: normal.test1.key exchange-args: {} queue-args: {} - function-type: Delay delay-type: 2 exchange-type: direct exchange-name: zlf.delay.test2 queue-name: delay.test2 ## 不用监听正常的队列,直接根据同一个路由键去路由,然后监听死信队列 routing-key: zlf.delay-test2-key dlx-exchange-name: zlf.dlx-test1 dlx-exchange-type: direct dlx-queue-name: dlx-test1 dlx-key: zlf.dlx-test1-key exchange-args: {} queue-args: x-dead-letter-exchange: zlf.dlx-test1 x-dead-letter-routing-key: zlf.dlx-test1-key ## 单位毫秒 30s x-message-ttl: 30000 - function-type: Delay delay-type: 3 exchange-type: direct exchange-name: zlf.delay.test3 queue-name: delay.test3 routing-key: zlf.delay-test3-key exchange-args: {} queue-args: {} - index: 1 eqs: - function-type: Delay delay-type: 1 exchange-type: custom exchange-name: zlf.delay.test1 queue-name: delay.test1 routing-key: delay.test1.key exchange-args: x-delayed-type: direct queue-args: {} - function-type: Normal delay-type: 0 exchange-type: direct exchange-name: zlf.normal.test1 queue-name: normal.test1 routing-key: normal.test1.key exchange-args: {} queue-args: {} - function-type: Delay delay-type: 2 exchange-type: direct exchange-name: zlf.delay.test2 queue-name: delay.test2 ## 不用监听正常的队列,直接根据同一个路由键去路由,然后监听死信队列 routing-key: zlf.delay-test2-key dlx-exchange-name: zlf.dlx-test1 dlx-exchange-type: direct dlx-queue-name: dlx-test1 dlx-key: zlf.dlx-test1-key exchange-args: {} queue-args: x-dead-letter-exchange: zlf.dlx-test1 x-dead-letter-routing-key: zlf.dlx-test1-key ## 单位毫秒 30s x-message-ttl: 30000 - function-type: Delay delay-type: 3 exchange-type: direct exchange-name: zlf.delay.test3 queue-name: delay.test3 routing-key: zlf.delay-test3-key exchange-args: {} queue-args: {} - index: 2 eqs: - function-type: Delay delay-type: 1 exchange-type: custom exchange-name: zlf.delay.test1 queue-name: delay.test1 routing-key: delay.test1.key exchange-args: x-delayed-type: direct queue-args: {} - function-type: Normal delay-type: 0 exchange-type: direct exchange-name: zlf.normal.test1 queue-name: normal.test1 routing-key: normal.test1.key exchange-args: {} queue-args: {} - function-type: Delay delay-type: 2 exchange-type: direct exchange-name: zlf.delay.test2 queue-name: delay.test2 ## 不用监听正常的队列,直接根据同一个路由键去路由,然后监听死信队列 routing-key: zlf.delay-test2-key dlx-exchange-name: zlf.dlx-test1 dlx-exchange-type: direct dlx-queue-name: dlx-test1 dlx-key: zlf.dlx-test1-key exchange-args: {} queue-args: x-dead-letter-exchange: zlf.dlx-test1 x-dead-letter-routing-key: zlf.dlx-test1-key ## 单位毫秒 30s x-message-ttl: 30000 - function-type: Delay delay-type: 3 exchange-type: direct exchange-name: zlf.delay.test3 queue-name: delay.test3 routing-key: zlf.delay-test3-key exchange-args: {} queue-args: {} ``` 3. 启动类上加入如下注解:
@EnableZlfRabbitMq
@SpringBootApplication(exclude = {
RabbitAutoConfiguration.class})
4. 功能说明
4.1 配置可以实现发送非延迟的普通队列消息
4.2 配置可以实现延迟队列(延迟插件方式)
4.3 配置可以实现延迟队列(ttl + 死性队列方式)
4.4 配置可以实现延迟队列(普通设置delayed属性就变成延迟交换机 + 消息设置setHeader("x-delay", xxx))
5. rabbitmq-spring-boot-start配置使用手册
该使用手册在项目源码的resources目录下,可以参看该手册,写的也非常详细 6.文章 https://blog.csdn.net/qq_34905631/article/details/127231242?spm=1001.2014.3001.5501 https://mp.weixin.qq.com/s/vsRhFaCZin-MIlt3ihUBsQ https://blog.csdn.net/qq_34905631/article/details/136677232?spm=1001.2014.3001.5501 https://mp.weixin.qq.com/s/-A9kuKHA5-4teKoVG0krOg https://blog.csdn.net/qq_34905631/article/details/136677368?spm=1001.2014.3001.5501 https://mp.weixin.qq.com/s/-A9kuKHA5-4teKoVG0krOg