fix: druid change config method support 1.2.17

This commit is contained in:
TaoYu 2023-05-06 15:36:08 +08:00
parent 9350e0e858
commit 10039f535d
2 changed files with 20 additions and 2 deletions

View File

@ -36,6 +36,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.util.StringUtils;
import javax.sql.DataSource;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@ -57,6 +58,20 @@ public class DruidDataSourceCreator extends AbstractDataSourceCreator implements
private DruidConfig gConfig;
private static Method configMethod = null;
static {
try {
Class<DruidDataSource> aClass = DruidDataSource.class;
configMethod = aClass.getDeclaredMethod("configFromPropeties");
if (configMethod == null) {
configMethod = aClass.getDeclaredMethod("configFromPropety");
}
} catch (Exception ignore) {
}
}
@Override
public DataSource doCreateDataSource(DataSourceProperty dataSourceProperty) {
DruidDataSource dataSource = new DruidDataSource();
@ -73,8 +88,11 @@ public class DruidDataSourceCreator extends AbstractDataSourceCreator implements
List<Filter> proxyFilters = this.initFilters(dataSourceProperty, properties.getProperty("druid.filters"));
dataSource.setProxyFilters(proxyFilters);
try {
configMethod.invoke(dataSource, properties);
} catch (Exception ignore) {
dataSource.configFromPropety(properties);
}
//连接参数单独设置
dataSource.setConnectProperties(config.getConnectionProperties());
//设置druid内置properties不支持的的参数

View File

@ -49,7 +49,7 @@
<mybatis.plus.version>3.5.2</mybatis.plus.version>
<hikaricp.version>2.4.13</hikaricp.version>
<druid.version>1.2.14</druid.version>
<druid.version>1.2.17</druid.version>
<atomikos.version>2.6.9</atomikos.version>
<beeCp.version>3.2.9</beeCp.version>
<commons-dbcp2.version>2.8.0</commons-dbcp2.version>