修改数据源健康监测
This commit is contained in:
@ -5,19 +5,20 @@ import java.util.Map;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
|
||||
import org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration;
|
||||
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
|
||||
import org.springframework.boot.actuate.jdbc.DataSourceHealthIndicator;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
|
||||
|
||||
/**
|
||||
* 解决 shardingjdbc 在 spring 2.3.1 及以上版本中健康监测异常问题 #6002
|
||||
*
|
||||
* @author Ajaxfan
|
||||
*/
|
||||
@ConditionalOnEnabledHealthIndicator("db")
|
||||
@ConditionalOnProperty(name = "management.health.db.enabled", havingValue = "true", matchIfMissing = true)
|
||||
@Configuration
|
||||
public class EBTPDataSourceHealthContributorAutoConfiguration extends DataSourceHealthContributorAutoConfiguration {
|
||||
|
||||
@ -32,6 +33,9 @@ public class EBTPDataSourceHealthContributorAutoConfiguration extends DataSource
|
||||
*/
|
||||
@Override
|
||||
protected AbstractHealthIndicator createIndicator(DataSource source) {
|
||||
if (source instanceof AbstractRoutingDataSource) {
|
||||
return super.createIndicator(source);
|
||||
}
|
||||
return new DataSourceHealthIndicator(source, "select 1");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user