private Class<?> attemptFromContextLoader(final String driverClassName) {
      final ClassLoader threadContextClassLoader = Thread.currentThread().getContextClassLoader();
      if (threadContextClassLoader != null) {
         try {
            final Class<?> driverClass = threadContextClassLoader.loadClass(driverClassName);
            LOGGER.debug("Driver class {} found in Thread context class loader {}", driverClassName, threadContextClassLoader);
            return driverClass;
         } catch (ClassNotFoundException e) {
            LOGGER.debug("Driver class {} not found in Thread context class loader {}, trying classloader {}",
               driverClassName, threadContextClassLoader, this.getClass().getClassLoader());
         }
      }

      return null;
   }
private Class < ? > attemptFromContextLoader ( final String driverClassName ) { final ClassLoader threadContextClassLoader = Thread . currentThread ( ) . getContextClassLoader ( ) ; if ( threadContextClassLoader != null ) { try { final Class < ? > driverClass = threadContextClassLoader . loadClass ( driverClassName ) ; LOGGER . debug ( "Driver class {} found in Thread context class loader {}" , driverClassName , threadContextClassLoader ) ; return driverClass ; } catch ( ClassNotFoundException e ) { LOGGER . debug ( "Driver class {} not found in Thread context class loader {}, trying classloader {}" , driverClassName , threadContextClassLoader , this . getClass ( ) . getClassLoader ( ) ) ; } } return null ; }
***********************************************************************