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