diff --git a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/health/DataSourceHealthCheck.java b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/health/DataSourceHealthCheck.java index 7a6d03fee425a..4a6e3db63be68 100644 --- a/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/health/DataSourceHealthCheck.java +++ b/extensions/agroal/runtime/src/main/java/io/quarkus/agroal/runtime/health/DataSourceHealthCheck.java @@ -18,6 +18,7 @@ import org.eclipse.microprofile.health.Readiness; import io.agroal.api.AgroalDataSource; +import io.quarkus.agroal.runtime.AgroalDataSourceSupport; import io.quarkus.agroal.runtime.DataSources; import io.quarkus.arc.Arc; import io.quarkus.datasource.common.runtime.DataSourceUtil; @@ -40,9 +41,10 @@ protected void init() { } DataSourceSupport support = Arc.container().instance(DataSourceSupport.class) .get(); - Set names = support.getConfiguredNames(); + AgroalDataSourceSupport agroalSupport = Arc.container().instance(AgroalDataSourceSupport.class) + .get(); Set excludedNames = support.getInactiveOrHealthCheckExcludedNames(); - for (String name : names) { + for (String name : agroalSupport.entries.keySet()) { if (excludedNames.contains(name)) { continue; } diff --git a/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceRecorder.java b/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceRecorder.java index 87a39c554f6c3..3f4b459505df8 100644 --- a/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceRecorder.java +++ b/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceRecorder.java @@ -15,20 +15,12 @@ public class DataSourceRecorder { public RuntimeValue createDataSourceSupport( DataSourcesBuildTimeConfig buildTimeConfig, DataSourcesRuntimeConfig runtimeConfig) { - Stream.Builder configured = Stream.builder(); Stream.Builder excludedForHealthChecks = Stream.builder(); for (Map.Entry dataSource : buildTimeConfig.dataSources().entrySet()) { - // TODO this is wrong, as the default datasource could be configured without db-kind being set: - // it's inferred automatically for the default datasource when possible. - // See https://github.com/quarkusio/quarkus/issues/37779 - if (dataSource.getValue().dbKind().isPresent()) { - configured.add(dataSource.getKey()); - } if (dataSource.getValue().healthExclude()) { excludedForHealthChecks.add(dataSource.getKey()); } } - Set names = configured.build().collect(toUnmodifiableSet()); Set excludedNames = excludedForHealthChecks.build().collect(toUnmodifiableSet()); Stream.Builder inactive = Stream.builder(); @@ -39,6 +31,6 @@ public RuntimeValue createDataSourceSupport( } Set inactiveNames = inactive.build().collect(toUnmodifiableSet()); - return new RuntimeValue<>(new DataSourceSupport(names, excludedNames, inactiveNames)); + return new RuntimeValue<>(new DataSourceSupport(excludedNames, inactiveNames)); } } diff --git a/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceSupport.java b/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceSupport.java index 96b4b0f1fa9a9..21ea9141a98ce 100644 --- a/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceSupport.java +++ b/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceSupport.java @@ -12,26 +12,17 @@ */ public class DataSourceSupport { - private final Set configuredNames; private final Set inactiveNames; private final Set inactiveOrHealthCheckExcludedNames; - public DataSourceSupport(Set configuredNames, Set healthCheckExcludedNames, + public DataSourceSupport(Set healthCheckExcludedNames, Set inactiveNames) { - this.configuredNames = configuredNames; this.inactiveOrHealthCheckExcludedNames = new HashSet<>(); inactiveOrHealthCheckExcludedNames.addAll(inactiveNames); inactiveOrHealthCheckExcludedNames.addAll(healthCheckExcludedNames); this.inactiveNames = inactiveNames; } - // TODO careful when using this, as it might (incorrectly) not include the default datasource. - // See TODO in code that calls the constructor of this class. - // See https://github.com/quarkusio/quarkus/issues/37779 - public Set getConfiguredNames() { - return configuredNames; - } - public Set getInactiveNames() { return inactiveNames; }