Browse Source

REPORT-70827 & REPORT-70810 兼容性问题2

bugfix/KERNEL-11409-jackson
rinoux 3 years ago
parent
commit
a9ab1321f2
  1. 18
      fine-druid/src/main/java/com/fr/third/alibaba/druid/support/hibernate/DruidConnectionProvider.java
  2. 2
      fine-druid/src/main/java/com/fr/third/alibaba/druid/util/MySqlUtils.java

18
fine-druid/src/main/java/com/fr/third/alibaba/druid/support/hibernate/DruidConnectionProvider.java

@ -18,22 +18,20 @@ package com.fr.third.alibaba.druid.support.hibernate;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Map; import java.util.Map;
import java.util.Properties;
import com.fr.third.alibaba.druid.pool.DruidDataSource; import com.fr.third.alibaba.druid.pool.DruidDataSource;
import com.fr.third.alibaba.druid.pool.DruidDataSourceFactory; import com.fr.third.alibaba.druid.pool.DruidDataSourceFactory;
import com.fr.third.org.hibernate.HibernateException;
import com.fr.third.org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import com.fr.third.org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import com.fr.third.org.hibernate.exception.spi.Configurable; import com.fr.third.org.hibernate.service.spi.Configurable;
import com.fr.third.org.hibernate.service.spi.Stoppable; import com.fr.third.org.hibernate.service.spi.Stoppable;
public class DruidConnectionProvider implements ConnectionProvider, Configurable, Stoppable { public class DruidConnectionProvider implements ConnectionProvider, Configurable, Stoppable {
private static final long serialVersionUID = 1026193803901107651L; private static final long serialVersionUID = 1026193803901107651L;
private DruidDataSource dataSource; private DruidDataSource dataSource;
public DruidConnectionProvider(){ public DruidConnectionProvider() {
dataSource = new DruidDataSource(); dataSource = new DruidDataSource();
} }
@ -64,7 +62,7 @@ public class DruidConnectionProvider implements ConnectionProvider, Configurable
} }
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
//@Override @Override
public void configure(Map configurationValues) { public void configure(Map configurationValues) {
try { try {
DruidDataSourceFactory.config(dataSource, configurationValues); DruidDataSourceFactory.config(dataSource, configurationValues);
@ -78,12 +76,4 @@ public class DruidConnectionProvider implements ConnectionProvider, Configurable
dataSource.close(); dataSource.close();
} }
@Override
public void configure(Properties properties) throws HibernateException {
try {
DruidDataSourceFactory.config(dataSource, properties);
} catch (SQLException e) {
throw new IllegalArgumentException("config error", e);
}
}
} }

2
fine-druid/src/main/java/com/fr/third/alibaba/druid/util/MySqlUtils.java

@ -415,7 +415,7 @@ public class MySqlUtils {
if (cc.class_connectionImpl == null && !cc.class_connectionImpl_Error) { if (cc.class_connectionImpl == null && !cc.class_connectionImpl_Error) {
try { try {
cc.class_connectionImpl = Utils.loadClass("com.mysql.jdbc.MySQLConnection"); cc.class_connectionImpl = Utils.loadClass("com.mysql.jdbc.MySQLConnection");
if (cc.class_connectionImpl == null) { if (cc.class_connectionImpl == null || cc.class_connectionImpl.getClassLoader() != cl) {
cc.class_connectionImpl = Utils.loadClass("com.mysql.cj.MysqlConnection"); cc.class_connectionImpl = Utils.loadClass("com.mysql.cj.MysqlConnection");
if (cc.class_connectionImpl != null) { if (cc.class_connectionImpl != null) {
cc.mysqlJdbcVersion6 = true; cc.mysqlJdbcVersion6 = true;

Loading…
Cancel
Save