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

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

或者在yaml中配置

spring:
??autoconfigure:
????exclude: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
2.自定义RabbitMQ自动配置类
RabbitCondition是开关控制类(template.enable.rabbitmq=false表示关闭RabbitMQ)
application.yml配置
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自动配置类

文章来源:https://blog.csdn.net/w13528476101/article/details/135326151
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。