解决 shardingjdbc 健康监测与spring 2.3.1 及以上版本不兼容问题

This commit is contained in:
ajaxfan
2021-05-27 09:28:50 +08:00
parent d0d0a3c097
commit 9860c361a1
17 changed files with 36 additions and 69 deletions

View File

@ -0,0 +1,36 @@
package com.chinaunicom.mall.ebtp.core.config;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.beans.factory.ObjectProvider;
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.jdbc.metadata.DataSourcePoolMetadataProvider;
import org.springframework.context.annotation.Configuration;
/**
* 解决 shardingjdbc 在 spring 2.3.1 及以上版本中健康监测异常问题 #6002
*
* @author Ajaxfan
*/
@Configuration
public class EBTPDataSourceHealthContributorAutoConfiguration extends DataSourceHealthContributorAutoConfiguration {
public EBTPDataSourceHealthContributorAutoConfiguration(Map<String, DataSource> dataSources,
ObjectProvider<DataSourcePoolMetadataProvider> metadataProviders) {
super(dataSources, metadataProviders);
}
/**
* @param source
* @return
*/
@Override
protected AbstractHealthIndicator createIndicator(DataSource source) {
return new DataSourceHealthIndicator(source, "select 1");
}
}