奇技淫巧:如何给项目中的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自动配置类

相关推荐
huohuopro12 小时前
Hbase伪分布式远程访问配置
数据库·分布式·hbase
Francek Chen13 小时前
【大数据存储与管理】NoSQL数据库:01 NoSQL简介
大数据·数据库·分布式·nosql
qq_2975746715 小时前
【Kafka 系列・入门第六篇】Kafka 集群部署(3 节点)+ 负载均衡配置
分布式·kafka·负载均衡
不懂的浪漫16 小时前
mqtt-plus 架构解析(一):分层架构与设计哲学
spring boot·分布式·物联网·mqtt·架构
渔民小镇17 小时前
一次编写到处对接 —— 为 Godot/Unity/React 生成统一交互接口
java·分布式·游戏·unity·godot
愈努力俞幸运17 小时前
docker入门,容器,镜像
java·分布式·docker
珠海西格电力17 小时前
红区光伏与零碳园区:管理系统如何破解分布式光伏并网困局
大数据·人工智能·分布式·物联网·能源
大大大大晴天️17 小时前
大数据分布式处理基石:分布式理论深度解析
大数据·分布式
枫叶林FYL19 小时前
【自然语言处理 NLP】8.2 Ring Attention 与分布式长上下文训练
人工智能·分布式·自然语言处理
薛定猫AI19 小时前
【深度解析】Meta Muse Spark:原生多模态推理模型与多智能体编排的工程化实践
大数据·分布式·spark