public XMLHelper(ClassLoaderService classLoaderService) { this.documentFactory = classLoaderService.workWithClassLoader( new ClassLoaderService.Work<DocumentFactory>() { @Override public DocumentFactory doWork(ClassLoader classLoader) { final ClassLoader originalTccl = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader( classLoader ); return DocumentFactory.getInstance(); } finally { Thread.currentThread().setContextClassLoader( originalTccl ); } } } ); }
public XMLHelper(ClassLoaderService classLoaderService) { this.documentFactory = classLoaderService.workWithClassLoader( new ClassLoaderService.Work<DocumentFactory>() { @Override public DocumentFactory doWork(ClassLoader classLoader) { final ClassLoader originalTccl = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader( classLoader ); return DocumentFactory.getInstance(); } finally { Thread.currentThread().setContextClassLoader( originalTccl ); } } } ); }
public static ConfigurationBuilderHolder loadConfiguration(ServiceRegistry registry, String config) { ClassLoaderService.Work<ConfigurationBuilderHolder> work = classLoader -> { ClassLoader infinispanClassLoader = InfinispanProperties.class.getClassLoader(); try (InputStream input = lookupFile(config, classLoader, infinispanClassLoader)) { return parse(input, infinispanClassLoader); } catch (IOException e) { throw LOGGER.unableToCreateCacheManager(e); } }; return registry.getService(ClassLoaderService.class).workWithClassLoader(work); }