Как отключить проверку работоспособности Кролика через Конфигурацию - PullRequest
0 голосов
/ 13 февраля 2020

Я бы хотел отключить проверку работоспособности кролика в моей конфигурации RabbitMockConfiguration. У нас есть Конфигурация, которая импортируется через @Import. К сожалению, Конфигурация не препятствует добавлению проверки работоспособности к индикатору работоспособности, как это происходит, когда Spring-Rabbit находится в пути к классам.

У нас есть обходной путь, который мы добавляем в каждый сервис, используя файл свойств Конфигурация, которая отключает свойство management.health.rabbit.enabled, но для нас было бы намного лучше иметь возможность отключить эту проверку на уровне конфигурации.

Я думал о тестах с @TestPropertySource(properties = ["management.health.rabbit.enabled=false"]), но не смог найти эквивалент для использования для @Configuration, так как @PropertySource ожидает расположение файла свойств и не принимает отдельные свойства.

Есть идеи, что мы можем сделать?

Spring boot версия: 2.2.4
Spring amqp версия: 2.2.3
Spring версия: 5.2.3

Ответы [ 2 ]

4 голосов
/ 18 февраля 2020

Если вы хотите изменить поведение проверки работоспособности, я бы предпочел переопределить проверку работоспособности, чтобы в ней говорилось, что Кролик находится в режиме имитации.

Для этого просто создайте bean-компонент HealthIndicator с именем rabbitHealthIndicator:

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

Это приводит к переключению производственного компонента и показывает тот факт, что приложение работает с издеваться.

0 голосов
/ 13 февраля 2020

Полагаю, вам следует добавить 'ApplicationListener' и добавить реализацию к 'src / main / resources / META-INF / spring.factories' в ваш модуль с помощью MockReddisConfiguration. Это описано более подробно здесь

...