Код: Выделить всё
public HealthCheckResponse call() {
mainServiceName = systemUtil.getEnv("SERVICES");
HealthCheckResponseBuilder builder = HealthCheckResponse.named(mainServiceName + "-dependencies-check");
boolean dependenciesServiceCheck = Boolean.parseBoolean(systemUtil.getEnv("DEPENDENCIES_SERVICE_CHECK"));
if (!dependenciesServiceCheck) {
return builder.up().build();
}
try {
Map serviceStatuses = checkDependentServicesConnectivity();
serviceStatuses.forEach(builder::withData);
boolean isAnyServiceDown = serviceStatuses.containsValue("DOWN");
return isAnyServiceDown ? builder.down().build() : builder.up().build();
} catch (Exception e) {
return builder.down().withData("error", e.getMessage()).build();
}
}
private Map checkDependentServicesConnectivity() {
return new HashMap();
}
**Сообщение об ошибке
Код: Выделить всё
java.lang.IllegalStateException: Unable to find service org.eclipse.microprofile.health.spi.HealthCheckResponseProvider
at org.eclipse.microprofile.health.HealthCheckResponse.find(HealthCheckResponse.java:183)
at org.eclipse.microprofile.health.HealthCheckResponse.getProvider(HealthCheckResponse.java:142)
at org.eclipse.microprofile.health.HealthCheckResponse.named(HealthCheckResponse.java:99)**
Класс GenericHealthCheck использует SystemUtil для получения переменных среды.
Я не уверен, как правильно имитировать или настройте метод HealthCheckResponse.named(), чтобы избежать этого исключения IllegalStateException.
Что я пробовал
Я убедился, что в мой проект включены соответствующие зависимости для MicroProfile Health.Я попытался имитировать HealthCheckResponse, но получил ту же ошибку.
Ошибка, с которой вы столкнулись, предполагает, что API MicroProfile Health настроен неправильно в вашей тестовой среде. . Класс HealthCheckResponse использует интерфейс поставщика услуг (SPI) для HealthCheckResponseProvider, который обычно предоставляется реализацией MicroProfile Health API в среде выполнения Java EE или MicroProfile
Любой Буду очень признателен за рекомендации по устранению этой ошибки в моих тестах!
Подробнее здесь: https://stackoverflow.com/questions/791 ... croprofile
Мобильная версия