当前位置: 首页 > 知识库问答 >
问题:

禁用Spring云总线仍然会启动RabbitMQ

池俊茂
2023-03-14

我正在使用Spring boot2.2.9。RELEASE和Spring Cloud Hoxton。SR7。我正在使用Spring Cloud Bus向docker群堆栈中的所有容器发出信号,并且当在生产环境中使用正在运行的RabbitMQ集群部署时,事情会完美运行!

我通过spring cloud starter总线amqp spring Boot starter使用RabbitMQ实现。我们偶尔在不需要总线的情况下运行测试。有一个spring boot标志:

<代码>Spring。云公共汽车启用=假

这将禁用总线,但rabbitMQ仍会启动,并抛出连接拒绝错误。我还必须补充:

rabbitmq.auto开始

我试图大惊小怪地禁用RabbitMQ的自动配置,但似乎有一个RabbitAutoConfiguration类暗示它是一个SB autoconfig类,但实际上它是一个普通的SB配置类。

有没有更干净的方法来禁用云总线,从而阻止RabbitMQ启动?

共有1个答案

柳向明
2023-03-14

您只需要在测试范围中包含spring cloud stream测试支持jar。这个jar包含将覆盖和替换默认绑定器的绑定器。这些测试绑定实际上不会连接到后台的资源。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-stream-test-support</artifactId>
    <version>${spring.cloud.stream.version}</version>
    <scope>test</scope>
</dependency>
 类似资料:
  • 我有下面的实现来使用Spring Boot应用程序使用来自Azure Service Bus的消息,但是我希望能够控制ServiceBusConsumer使用Spring Boot profile属性自动开始侦听主题 在应用程序中类似这样的内容。亚马尔 它应该禁止ServiceBusConsumer侦听主题,并且我应该能够使用RESTAPI启动ServiceBusConsumer-例如:/api/

  • 让我用一个例子来解释我的问题, 有一种叫做“通知服务”的微服务 它有2个实例在端口8080和8081中运行 我们的Spring云配置服务器也在运行,并包含“通知服务”的所有属性文件 当属性文件更改时,为了使其立即影响所有正在运行的实例,我们可以使用sping-Cloud-bus, 并使用邮递员工具一次刷新“通知服务”的所有实例。 例如,localhost:8080/bus/refresh 我想知道

  • 我有三个应用程序,一个是spring云配置服务器点,另一个是spring云配置客户endpoint。我在彼此中配置了spring云总线,以使客户endpoint自动刷新发生更改,但在我运行的应用程序中,出现了如下异常 这是我的spring云服务器配置 这是我的spring云配置服务器pom 这是我的spring云配置客户端配置 这是我的spring云配置客户端pom 此异常不会影响操作的应用程序,

  • 我想用我的Spring Boot应用程序配置Liquibase,所以我向pom.xml添加了依赖项,并在application.properties中将路径设置为master.xml。这工作良好,Spring在启动时运行Liquibase。问题是现在我想手动运行Liquibase,而不是在应用程序启动时运行。我应该完全禁用Liquibase自动配置还是可以使用它并且只在启动时禁用运行评估?

  • 我的Spring云配置客户端依赖于Spring。云起动机。公共汽车amqp,但它仍然没有启用总线/刷新endpoint 我在配置客户端应用程序中有这些依赖项,但仍然没有启用总线/刷新、总线/环境。 请让我知道我的客户申请中缺少什么。 注: 我尝试在应用程序中设置这些指标。yml或应用程序。属性,因为这些属性由总线自动配置用来启用endpoint。 在我的Spring Cloud Config Se

  • 我已经将spring cloud config配置为从git存储库读取属性。使用当前的实现,如果配置发生更改,如果在客户端上发布/刷新,我可以看到更新的属性。现在,我想使用spring云总线监视器来检测git repo中的更改,并自动刷新客户端endpoint中的属性。即使在依赖项中添加了spring cloud config monitor(未启用/监视器endpoint),因此即使配置服务器中