Browse Source

Merge pull request #5066 in CORE/base-third from release/11.0 to feature/x

* commit '383ec07312fb71199904e8ff30a0ee6a135bbfd5':
  REPORT-67030 fix: mysql数据连接无法正常连接
feature/x
superman 3 years ago
parent
commit
f72d31db42
  1. 17
      fine-druid/src/main/java/com/fr/third/alibaba/druid/util/MySqlUtils.java

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

@ -386,15 +386,14 @@ public class MySqlUtils {
public static long getLastPacketReceivedTimeMs(Connection conn) throws SQLException {
if (!class_connectionImpl_Error) {
if (conn == null) {
return -1;
}
try {
//REPORT-66916 这里之前获取到的是lib下的mysql5实现,而不是自定义mysql8驱动的实现
String className = conn.getClass().getName();
class_connectionImpl = Utils.loadClass(className);
if (className.equals("com.mysql.cj.MysqlConnection")) {
mysqlJdbcVersion6 = true;
mysqlJdbcVersion6 = false;
class_connectionImpl = Utils.loadClass("com.mysql.jdbc.MySQLConnection");
if (class_connectionImpl == null || class_connectionImpl.getClassLoader() != conn.getClass().getClassLoader()) {
class_connectionImpl = Utils.loadClass("com.mysql.cj.MysqlConnection");
if (class_connectionImpl != null) {
mysqlJdbcVersion6 = true;
}
}
} catch (Throwable error) {
class_connectionImpl_Error = true;
@ -412,7 +411,7 @@ public class MySqlUtils {
return -1;
}
if (getIdleFor == null && !getIdleForError) {
if (!getIdleForError) {
try {
getIdleFor = classJdbc.getMethod("getIdleFor");
getIdleFor.setAccessible(true);

Loading…
Cancel
Save