如何通过配置禁用兔子健康检查

问题描述 投票:0回答:2

我想在默认的RabbitMockConfiguration中禁用兔子健康检查。我们有一个通过@Import导入的配置。不幸的是,配置不会阻止将运行状况检查添加到运行状况指示器,因为一旦spring-rabbit在类路径中,就会发生这种情况。

[我们有一种解决方法,我们使用该配置在每个服务中添加一个属性文件,这会禁用属性management.health.rabbit.enabled,但对我们来说,能够在配置级别上禁用该heathcheck会更好。

我考虑过@TestPropertySource(properties = ["management.health.rabbit.enabled=false"])的测试,但是我找不到用于@Configuration的等效项,因为@PropertySource期望属性文件的位置,并且不接受单个属性。

知道我们能做什么?

Spring引导版本:2.2.4Spring amqp版本:2.2.3春季版:5.2.3

spring spring-boot spring-amqp spring-rabbitmq
2个回答
0
投票

我想您应该使用MockReddisConfiguration添加'ApplicationListener'并将实现添加到'src / main / resources / META-INF / spring.factories'到您的模块中。详细说明here


0
投票

如果要更改运行状况检查的行为,我宁愿覆盖运行状况检查,以便它指出Rabbit处于模拟模式。

为此,只需创建一个名为HealthIndicatorrabbitHealthIndicator bean:

@Bean
public HealthIndicator rabbitHealthIndicator() {
    return () -> Health.up().withDetail("version", "mock").build();
}

这具有切换生产版本的效果,并公开了应用程序正在运行模拟的事实。

© www.soinside.com 2019 - 2024. All rights reserved.