T function ( Callable < T > arg0 ) { ClassLoader loc0 = Thread . currentThread ( ) . getContextClassLoader ( ) ; try { Thread . currentThread ( ) . setContextClassLoader ( CACHED_CLASSLOADER ) ; return arg0 . call ( ) ; } finally { Thread . currentThread ( ) . setContextClassLoader ( loc0 ) ; } }
execute an operation synchronously using the context classloader used to load this class , instead of the currently-set context classloader of the current thread . this allows loading dynamically-loaded classes and configuration files using the same classloader used to load the rest of the jdbc driver . the context classloader of the current thread is reset to its original value after the callable has been executed . concode_field_sep ClassLoader CACHED_CLASSLOADER concode_elem_sep ClassLoader saveCcl concode_field_sep T callWithoutPropagation concode_elem_sep void before concode_elem_sep CallWrapper inContext concode_elem_sep void after