public ClassLoader getProcessClassLoader(ProcessDefinition processDefinition) { // default behavior like before https://jira.jboss.org/jira/browse/JBPM-1148 return new ProcessClassLoader(ClassLoaderUtil.getClassLoader(), processDefinition); } }
public ClassLoader getProcessClassLoader(ProcessDefinition processDefinition) { // default behavior like before https://jira.jboss.org/jira/browse/JBPM-1148 return new ProcessClassLoader(ClassLoaderUtil.getClassLoader(), processDefinition); } }
public ClassLoader getProcessClassLoader(ProcessDefinition processDefinition) { // use database identifier as key to lookup cached class loader long id = processDefinition.getId(); // if process definition is transient, use hash code as key Long key = new Long(id == 0L ? processDefinition.hashCode() : id); // consider that the context class loader changes among applications ClassLoader parentClassLoader = ClassLoaderUtil.getClassLoader(); synchronized (classLoaderRefs) { // lookup cached class loader ClassLoader processClassLoader = getProcessClassLoader(key, parentClassLoader); // if class loader is not cached, if (processClassLoader == null) { // (re-)create class loader processClassLoader = new ProcessClassLoader(parentClassLoader, processDefinition, jbpmConfiguration); // add class loader to cache putProcessClassLoader(key, processClassLoader); } return processClassLoader; } }
public ClassLoader getProcessClassLoader(ProcessDefinition processDefinition) { // use database identifier as key to lookup cached class loader long id = processDefinition.getId(); // if process definition is transient, use hash code as key Long key = new Long(id == 0L ? processDefinition.hashCode() : id); // consider that the context class loader changes among applications ClassLoader parentClassLoader = ClassLoaderUtil.getClassLoader(); synchronized (classLoaderRefs) { // lookup cached class loader ClassLoader processClassLoader = getProcessClassLoader(key, parentClassLoader); // if class loader is not cached, if (processClassLoader == null) { // (re-)create class loader processClassLoader = new ProcessClassLoader(parentClassLoader, processDefinition, jbpmConfiguration); // add class loader to cache putProcessClassLoader(key, processClassLoader); } return processClassLoader; } }