Skip to content

Commit

Permalink
Fixed built-in health check configuration detection - use getMapKeys …
Browse files Browse the repository at this point in the history
…and getListSize instead of yaml-specific Map/List detection, that will be removed in KumuluzEE 4.1.0
  • Loading branch information
urbim committed Jun 1, 2022
1 parent e3c4b3b commit 0c9222c
Showing 1 changed file with 12 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.util.AnnotationLiteral;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.logging.Logger;

Expand Down Expand Up @@ -91,18 +93,24 @@ private void registerHealthCheckBeans(BeanManager beanManager, AnnotationLiteral
}

private KumuluzHealthCheck getBuildInHealthCheckBeanInstance(Bean<?> bean) {

if (KumuluzHealthCheck.class.isAssignableFrom(bean.getBeanClass())) {
try {
KumuluzHealthCheck instance = (KumuluzHealthCheck) bean.getBeanClass().newInstance();
KumuluzHealthCheck instance = (KumuluzHealthCheck) bean.getBeanClass().getDeclaredConstructor().newInstance();
String kumuluzHealthCheckName = instance.name();

if (ConfigurationUtil.getInstance().get(kumuluzHealthCheckName).isPresent()) {
Optional<List<String>> healthCheckConfigRoot = ConfigurationUtil.getInstance().getMapKeys(kumuluzHealthCheckName);
// DataSourceHealthCheck list is also valid
Optional<Integer> healthCheckConfigRootList = ConfigurationUtil.getInstance().getListSize(kumuluzHealthCheckName);

if ((healthCheckConfigRoot.isPresent() && !healthCheckConfigRoot.get().isEmpty()) ||
(healthCheckConfigRootList.isPresent() && healthCheckConfigRootList.get() > 0)) {

if (instance.initSuccess()) {
return instance;
}
}
} catch (Exception e) {

} catch (Exception ignored) {
}
}
return null;
Expand Down

0 comments on commit 0c9222c

Please sign in to comment.