奇技淫巧:如何给项目中的RabbitMQ添加总开关

本文主要分享了如何给项目中的RabbitMQ添加总开关,通过简单配置开/关RabbitMQ。
一、需求背景
SpringBoot项目里使用了RabbitMQ,但某些场景下,不希望项目启动时自动检查RabbitMQ连接
例如: 在开发不需要RabbitMQ的功能过程中,若RabbitMQ服务未启动,会导致SpringBoot项目启动失败。
二、实现方案
1.排除org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration(2种方式)
在SpringBootApplication启动类上使用exclude排除

java 复制代码
@SpringBootApplication(exclude = {RabbitAutoConfiguration.class})

或者在yaml中配置

java 复制代码
spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration

2.自定义RabbitMQ自动配置类

RabbitCondition是开关控制类(template.enable.rabbitmq=false表示关闭RabbitMQ)

application.yml配置

java 复制代码
spring:
  rabbitmq:
    addresses: localhost:5672
    username: guest
    password: guest
    virtual-host: /
    publisherConfirms: true # 回调ConfirmCallback实现类
    publisherReturns: true # 回调ReturnCallback实现类
    
template:
  enable:
    rabbitmq: false # RabbitMQ开关

这种情况下启动SpringBoot项目就不会初始化RabbitMQ的相关内容了
怎么样?如果你觉得有用的话,还不快快收藏起来!!!
附:涉及的代码目录
github: GitHub - 897665787/springcloud-template: 一个基于springcloud netflix微服务框架,记录了关于微服务开发的一些最佳应用,欢迎大家学习指导。
gitee: springcloud-template: 一个基于springcloud netflix微服务框架,记录了关于微服务开发的一些最佳应用,欢迎大家学习指导。

springcloud-template
└── template-framework
└── autoconfigure
└── RabbitAutoConfiguration-- 自定义RabbitMQ自动配置类

相关推荐
yitian_hm1 小时前
深入理解 Kafka Producer 核心源码:消息发送全链路解析
分布式·kafka·linq
Dylan~~~11 小时前
深度解析Cassandra:分布式数据库的王者之路
数据库·分布式
传感器与混合集成电路15 小时前
面向储气库注采井的分布式光纤监测技术
分布式
ZTLJQ15 小时前
任务调度的艺术:Python分布式任务系统完全解析
开发语言·分布式·python
被摘下的星星15 小时前
Hadoop伪分布式集群搭建实验原理概要
大数据·hadoop·分布式
无名-CODING18 小时前
Java 爬虫高级技术:反反爬策略与分布式爬虫实战
java·分布式·爬虫
8Qi819 小时前
Redis哨兵模式(Sentinel)深度解析
java·数据库·redis·分布式·缓存·sentinel
爱学习的程序媛19 小时前
JWT签发全指南:从原理到安全实践
分布式·安全·web安全·安全架构·jwt签发·无状态认证
wanhengidc21 小时前
徐州服务器租用的优势
大数据·运维·服务器·分布式·智能手机
wanzehongsheng21 小时前
分布式光伏电站的技术优势与智能运维实践:以WZ HELIO²双轴跟踪系统为例
运维·分布式