From 82901a96adc6178e70c8a922368206c79e359afb Mon Sep 17 00:00:00 2001 From: zhaohuihua Date: Fri, 21 Feb 2020 00:08:58 +0800 Subject: [PATCH] extract method: resolveDriver --- .../alibaba/druid/pool/DruidDataSource.java | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index c2116ad0a7..8b02515410 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -883,24 +883,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat initFromSPIServiceLoader(); - if (this.driver == null) { - if (this.driverClass == null || this.driverClass.isEmpty()) { - this.driverClass = JdbcUtils.getDriverClassName(this.jdbcUrl); - } - - if (MockDriver.class.getName().equals(driverClass)) { - driver = MockDriver.instance; - } else { - if (jdbcUrl == null && (driverClass == null || driverClass.length() == 0)) { - throw new SQLException("url not set"); - } - driver = JdbcUtils.createDriver(driverClassLoader, driverClass); - } - } else { - if (this.driverClass == null) { - this.driverClass = driver.getClass().getName(); - } - } + resolveDriver(); initCheck(); @@ -1213,6 +1196,27 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat LOG.error(errorMessage + "validationQuery not set"); } + protected void resolveDriver() throws SQLException { + if (this.driver == null) { + if (this.driverClass == null || this.driverClass.isEmpty()) { + this.driverClass = JdbcUtils.getDriverClassName(this.jdbcUrl); + } + + if (MockDriver.class.getName().equals(driverClass)) { + driver = MockDriver.instance; + } else { + if (jdbcUrl == null && (driverClass == null || driverClass.length() == 0)) { + throw new SQLException("url not set"); + } + driver = JdbcUtils.createDriver(driverClassLoader, driverClass); + } + } else { + if (this.driverClass == null) { + this.driverClass = driver.getClass().getName(); + } + } + } + protected void initCheck() throws SQLException { if (JdbcUtils.ORACLE.equals(this.dbType)) { isOracle = true;