From 5c01638bc116c96c7cb1eddf6c7e18d43902242a Mon Sep 17 00:00:00 2001 From: wenshao Date: Wed, 18 Jul 2012 21:36:42 +0800 Subject: [PATCH] bug fixed for load driverClass --- src/main/java/com/alibaba/druid/util/JdbcUtils.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/alibaba/druid/util/JdbcUtils.java b/src/main/java/com/alibaba/druid/util/JdbcUtils.java index 0738d04093..d3b93ed990 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcUtils.java +++ b/src/main/java/com/alibaba/druid/util/JdbcUtils.java @@ -488,12 +488,23 @@ public final class JdbcUtils { } public static Driver createDriver(String driverClassName) throws SQLException { + ClassNotFoundException exception = null; try { return (Driver) Class.forName(driverClassName).newInstance(); } catch (IllegalAccessException e) { throw new SQLException(e.getMessage(), e); } catch (InstantiationException e) { throw new SQLException(e.getMessage(), e); + } catch (ClassNotFoundException e) { + exception = e; + } + + try { + return (Driver) Thread.currentThread().getContextClassLoader().loadClass(driverClassName).newInstance(); + } catch (IllegalAccessException e) { + throw new SQLException(e.getMessage(), e); + } catch (InstantiationException e) { + throw new SQLException(e.getMessage(), e); } catch (ClassNotFoundException e) { throw new SQLException(e.getMessage(), e); }