protected ClassLoader getPluginsClassloader() { ClassLoader pluginsClassLoader = ClassLoaderUtil.getContextClassloader(); if(pluginsClassLoader == null) { // if context classloader is null, use classloader which loaded the camunda-engine jar. pluginsClassLoader = BpmPlatform.class.getClassLoader(); } return pluginsClassLoader; }
protected ClassLoader getPluginsClassloader() { ClassLoader pluginsClassLoader = ClassLoaderUtil.getContextClassloader(); if(pluginsClassLoader == null) { // if context classloader is null, use classloader which loaded the camunda-engine jar. pluginsClassLoader = BpmPlatform.class.getClassLoader(); } return pluginsClassLoader; }
public T call() throws Exception { try { // record thread context right after context switch PA_CLASSLOADER.set(ClassLoaderUtil.getContextClassloader()); // proceed with delegate callable invocation return delegate.call(); } finally { PA_CLASSLOADER.remove(); } }
public T call() throws Exception { try { // record thread context right after context switch PA_CLASSLOADER.set(ClassLoaderUtil.getContextClassloader()); // proceed with delegate callable invocation return delegate.call(); } finally { PA_CLASSLOADER.remove(); } }
public <T> T execute(Callable<T> callable) throws ProcessApplicationExecutionException { ClassLoader originalClassloader = ClassLoaderUtil.getContextClassloader(); ClassLoader processApplicationClassloader = getProcessApplicationClassloader(); try { ClassLoaderUtil.setContextClassloader(processApplicationClassloader); return callable.call(); } catch (Exception e) { throw LOG.processApplicationExecutionException(e); } finally { ClassLoaderUtil.setContextClassloader(originalClassloader); } }
public <T> T execute(Callable<T> callable) throws ProcessApplicationExecutionException { ClassLoader originalClassloader = ClassLoaderUtil.getContextClassloader(); ClassLoader processApplicationClassloader = getProcessApplicationClassloader(); try { ClassLoaderUtil.setContextClassloader(processApplicationClassloader); return callable.call(); } catch (Exception e) { throw LOG.processApplicationExecutionException(e); } finally { ClassLoaderUtil.setContextClassloader(originalClassloader); } }
public <T> T execute(Callable<T> callable) throws ProcessApplicationExecutionException { ClassLoader originalClassloader = ClassLoaderUtil.getContextClassloader(); ClassLoader processApplicationClassloader = getProcessApplicationClassloader(); try { if (originalClassloader != processApplicationClassloader) { ClassLoaderUtil.setContextClassloader(processApplicationClassloader); } return callable.call(); } catch(Exception e) { throw LOG.processApplicationExecutionException(e); } finally { ClassLoaderUtil.setContextClassloader(originalClassloader); } }
public <T> T execute(Callable<T> callable) throws ProcessApplicationExecutionException { ClassLoader originalClassloader = ClassLoaderUtil.getContextClassloader(); ClassLoader processApplicationClassloader = getProcessApplicationClassloader(); try { if (originalClassloader != processApplicationClassloader) { ClassLoaderUtil.setContextClassloader(processApplicationClassloader); } return callable.call(); } catch(Exception e) { throw LOG.processApplicationExecutionException(e); } finally { ClassLoaderUtil.setContextClassloader(originalClassloader); } }
public static boolean requiresContextSwitch(ProcessApplicationReference processApplicationReference) { final ProcessApplicationReference currentProcessApplication = Context.getCurrentProcessApplication(); if(processApplicationReference == null) { return false; } if(currentProcessApplication == null) { return true; } else { if(!processApplicationReference.getName().equals(currentProcessApplication.getName())) { return true; } else { // check whether the thread context has been manipulated since last context switch. This can happen as a result of // an operation causing the container to switch to a different application. // Example: JavaDelegate implementation (inside PA) invokes an EJB from different application which in turn interacts with the Process engine. ClassLoader processApplicationClassLoader = ProcessApplicationClassloaderInterceptor.getProcessApplicationClassLoader(); ClassLoader currentClassloader = ClassLoaderUtil.getContextClassloader(); return currentClassloader != processApplicationClassLoader; } } }
public static boolean requiresContextSwitch(ProcessApplicationReference processApplicationReference) { final ProcessApplicationReference currentProcessApplication = Context.getCurrentProcessApplication(); if(processApplicationReference == null) { return false; } if(currentProcessApplication == null) { return true; } else { if(!processApplicationReference.getName().equals(currentProcessApplication.getName())) { return true; } else { // check whether the thread context has been manipulated since last context switch. This can happen as a result of // an operation causing the container to switch to a different application. // Example: JavaDelegate implementation (inside PA) invokes an EJB from different application which in turn interacts with the Process engine. ClassLoader processApplicationClassLoader = ProcessApplicationClassloaderInterceptor.getProcessApplicationClassLoader(); ClassLoader currentClassloader = ClassLoaderUtil.getContextClassloader(); return currentClassloader != processApplicationClassLoader; } } }
ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); if(contextClassloader != null) { LOG.debugClassLoading(className, "current thread context classloader", contextClassloader);
ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); if(contextClassloader != null) { LOG.debugClassLoading(className, "current thread context classloader", contextClassloader);
@SuppressWarnings("unchecked") protected void deployServletProcessApplication(ServletProcessApplication processApplication) { ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString(); ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName); ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName); if(serviceContainer.getService(serviceName) == null) { ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService); NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference()); requiredService.getValue() .addService(serviceName, service) .setInitialMode(Mode.ACTIVE) .install(); } }
@SuppressWarnings("unchecked") protected void deployServletProcessApplication(ServletProcessApplication processApplication) { ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString(); ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName); ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName); if(serviceContainer.getService(serviceName) == null) { ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService); NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference()); requiredService.getValue() .addService(serviceName, service) .setInitialMode(Mode.ACTIVE) .install(); } }
@SuppressWarnings("unchecked") protected void deployServletProcessApplication(ServletProcessApplication processApplication) { ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString(); ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName); ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName); if(serviceContainer.getService(serviceName) == null) { ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService); NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference()); requiredService.getValue() .addService(serviceName, service) .setInitialMode(Mode.ACTIVE) .install(); } }
protected ClassLoader getPluginsClassloader() { ClassLoader pluginsClassLoader = ClassLoaderUtil.getContextClassloader(); if(pluginsClassLoader == null) { // if context classloader is null, use classloader which loaded the camunda-engine jar. pluginsClassLoader = BpmPlatform.class.getClassLoader(); } return pluginsClassLoader; }
public T call() throws Exception { try { // record thread context right after context switch PA_CLASSLOADER.set(ClassLoaderUtil.getContextClassloader()); // proceed with delegate callable invocation return delegate.call(); } finally { PA_CLASSLOADER.remove(); } }
public <T> T execute(Callable<T> callable) throws ProcessApplicationExecutionException { ClassLoader originalClassloader = ClassLoaderUtil.getContextClassloader(); ClassLoader processApplicationClassloader = getProcessApplicationClassloader(); try { ClassLoaderUtil.setContextClassloader(processApplicationClassloader); return callable.call(); } catch (Exception e) { throw LOG.processApplicationExecutionException(e); } finally { ClassLoaderUtil.setContextClassloader(originalClassloader); } }
@SuppressWarnings("unchecked") protected void deployServletProcessApplication(ServletProcessApplication processApplication) { ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString(); ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName); ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName); if(serviceContainer.getService(serviceName) == null) { ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService); NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference()); requiredService.getValue() .addService(serviceName, service) .setInitialMode(Mode.ACTIVE) .install(); } }
@SuppressWarnings("unchecked") protected void deployServletProcessApplication(ServletProcessApplication processApplication) { ClassLoader contextClassloader = ClassLoaderUtil.getContextClassloader(); String moduleName = ((ModuleClassLoader)contextClassloader).getModule().getIdentifier().toString(); ServiceName serviceName = ServiceNames.forNoViewProcessApplicationStartService(moduleName); ServiceName paModuleService = ServiceNames.forProcessApplicationModuleService(moduleName); if(serviceContainer.getService(serviceName) == null) { ServiceController<ServiceTarget> requiredService = (ServiceController<ServiceTarget>) serviceContainer.getRequiredService(paModuleService); NoViewProcessApplicationStartService service = new NoViewProcessApplicationStartService(processApplication.getReference()); requiredService.getValue() .addService(serviceName, service) .setInitialMode(Mode.ACTIVE) .install(); } }