@@ -262,16 +262,25 @@ public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedE
262262 throw new SQLFeatureNotSupportedException ("We do not support java.util.logging" );
263263 }
264264
265+ /**
266+ * Return true if driver has been explicitly configured.
267+ */
268+ private boolean hasDriver () {
269+ return databaseDriver != null && !databaseDriver .isEmpty ();
270+ }
271+
265272 private void checkDriver () {
266- try {
267- ClassLoader contextLoader = Thread .currentThread ().getContextClassLoader ();
268- if (contextLoader != null ) {
269- Class .forName (databaseDriver , true , contextLoader );
270- } else {
271- Class .forName (databaseDriver , true , this .getClass ().getClassLoader ());
273+ if (hasDriver ()) {
274+ try {
275+ ClassLoader contextLoader = Thread .currentThread ().getContextClassLoader ();
276+ if (contextLoader != null ) {
277+ Class .forName (databaseDriver , true , contextLoader );
278+ } else {
279+ Class .forName (databaseDriver , true , this .getClass ().getClassLoader ());
280+ }
281+ } catch (Throwable e ) {
282+ throw new IllegalStateException ("Problem loading Database Driver [" + this .databaseDriver + "]: " + e .getMessage (), e );
272283 }
273- } catch (Throwable e ) {
274- throw new IllegalStateException ("Problem loading Database Driver [" + this .databaseDriver + "]: " + e .getMessage (), e );
275284 }
276285 }
277286
@@ -980,11 +989,13 @@ public PoolStatus getStatus(boolean reset) {
980989 * Deregister the JDBC driver.
981990 */
982991 private void deregisterDriver () {
983- try {
984- logger .debug ("Deregister the JDBC driver " + this .databaseDriver );
985- DriverManager .deregisterDriver (DriverManager .getDriver (this .databaseUrl ));
986- } catch (SQLException e ) {
987- logger .warn ("Error trying to deregister the JDBC driver " + this .databaseDriver , e );
992+ if (hasDriver ()) {
993+ try {
994+ logger .debug ("Deregister the JDBC driver " + databaseDriver );
995+ DriverManager .deregisterDriver (DriverManager .getDriver (databaseUrl ));
996+ } catch (SQLException e ) {
997+ logger .warn ("Error trying to deregister the JDBC driver " + databaseDriver , e );
998+ }
988999 }
9891000 }
9901001
0 commit comments