diff --git a/codegen/src/main/java/org/seasar/doma/gradle/codegen/jdbc/SimpleDataSource.java b/codegen/src/main/java/org/seasar/doma/gradle/codegen/jdbc/SimpleDataSource.java index 5d77eaf..6003bc5 100644 --- a/codegen/src/main/java/org/seasar/doma/gradle/codegen/jdbc/SimpleDataSource.java +++ b/codegen/src/main/java/org/seasar/doma/gradle/codegen/jdbc/SimpleDataSource.java @@ -9,7 +9,6 @@ import java.util.Properties; import java.util.logging.Logger; import javax.sql.DataSource; -import org.seasar.doma.gradle.codegen.exception.CodeGenException; import org.seasar.doma.gradle.codegen.message.Message; public class SimpleDataSource implements DataSource { @@ -32,11 +31,6 @@ public Driver getDriver() { public void setDriver(Driver driver) { this.driver = driver; - try { - DriverManager.registerDriver(driver); - } catch (SQLException e) { - throw new CodeGenException(Message.DOMAGEN9001, e, e); - } } public String getUrl() { @@ -108,6 +102,9 @@ protected Connection getConnectionInternal(Properties info) throws SQLException throw new SQLException(Message.DOMAGEN5002.getMessage()); } try { + if (driver != null) { + return driver.connect(url, info); + } return DriverManager.getConnection(url, info); } catch (SQLException e) { if (UNABLE_TO_ESTABLISH_CONNECTION.equals(e.getSQLState())) { diff --git a/codegen/src/main/java/org/seasar/doma/gradle/codegen/util/ClassUtil.java b/codegen/src/main/java/org/seasar/doma/gradle/codegen/util/ClassUtil.java index 47a4ba8..9d1253a 100644 --- a/codegen/src/main/java/org/seasar/doma/gradle/codegen/util/ClassUtil.java +++ b/codegen/src/main/java/org/seasar/doma/gradle/codegen/util/ClassUtil.java @@ -94,7 +94,7 @@ public static Class forName(String className, String propertyName) { public static Class forName(String className, String propertyName, ClassLoader classLoader) { AssertionUtil.assertNotNull(className, propertyName, classLoader); try { - return classLoader.loadClass(className); + return Class.forName(className, true, classLoader); } catch (ClassNotFoundException e) { throw new CodeGenException(Message.DOMAGEN0033, propertyName, className, e); }