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

相关推荐
SuperHeroWu72 小时前
【HarmonyOS 6】UIAbility跨设备连接详解(分布式软总线运用)
分布式·华为·harmonyos·鸿蒙·连接·分布式协同·跨设备链接
杜子不疼.2 小时前
【探索实战】从0到1打造分布式云原生平台:Kurator全栈实践指南
分布式·云原生
q***69772 小时前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby
2501_941801763 小时前
高性能智能语音识别系统架构设计
rabbitmq
2501_941142644 小时前
人工智能与推荐系统在高并发互联网架构中的优化与工程实践经验分享
rabbitmq
一只会写代码的猫4 小时前
面向企业级分布式系统的Java微服务架构设计与高性能实践深度探索与经验分享
rabbitmq
N***p3654 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
m***l1154 小时前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq
2501_941820495 小时前
Python在分布式深度学习训练平台中高效数据预处理与任务调度实践
rabbitmq
拾忆,想起6 小时前
Dubbo分组(Group)使用指南:实现服务接口的多版本管理与环境隔离
分布式·微服务·性能优化·架构·dubbo