0


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

本文主要分享了如何给项目中的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自动配置类 
标签: rabbitmq 分布式

本文转载自: https://blog.csdn.net/w13528476101/article/details/135326151
版权归原作者 吾日三省Java 所有, 如有侵权,请联系我们删除。

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

还没有评论