Properly guard DB health indicator
The DataSource health indicator uses `JdbcTemplate` behind the scenes but nothing was checking that it is actually available. `DataSourcesHealthIndicatorConfiguration` is now disabled if `spring-jdbc` is not on the classpath. Fixes gh-3765
This commit is contained in:
parent
190f8a7e0a
commit
11b82cc6fe
|
|
@ -42,6 +42,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
|
import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
|
|
@ -57,6 +58,7 @@ import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s.
|
* {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s.
|
||||||
|
|
@ -94,6 +96,7 @@ public class HealthIndicatorAutoConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConditionalOnClass(JdbcTemplate.class)
|
||||||
@ConditionalOnBean(DataSource.class)
|
@ConditionalOnBean(DataSource.class)
|
||||||
@ConditionalOnProperty(prefix = "management.health.db", name = "enabled", matchIfMissing = true)
|
@ConditionalOnProperty(prefix = "management.health.db", name = "enabled", matchIfMissing = true)
|
||||||
public static class DataSourcesHealthIndicatorConfiguration {
|
public static class DataSourcesHealthIndicatorConfiguration {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue