protected Properties loadJMSProperties() throws IOException { Properties properties = new Properties(); InputStream input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("/jbpm.audit.jms.properties"); // required for junit test if (input == null) { input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("jbpm.audit.jms.properties"); } properties.load(input); return properties; } }
@Override public AuditService getAuditService() { if (auditService == null) { boolean usePersistence = ((InternalRuntimeManager)manager).getEnvironment().usePersistence(); if (usePersistence) { auditService = new JPAAuditLogService(getKieSession().getEnvironment()); } else { throw new UnsupportedOperationException("AuditService was not configured, supported only with persistence"); } } return auditService; }
protected List<TaskLifeCycleEventListener> getTaskListenersFromDescriptor() { List<TaskLifeCycleEventListener> defaultListeners = new ArrayList<TaskLifeCycleEventListener>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = new HashMap<String, Object>(); params.put("runtimeManager", getRuntimeManager()); params.put("classLoader", getRuntimeManager().getEnvironment().getClassLoader()); params.put("kieContainer", getRuntimeManager().getKieContainer()); for (ObjectModel model : descriptor.getTaskEventListeners()) { Object taskListener = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (taskListener != null) { defaultListeners.add((TaskLifeCycleEventListener) taskListener); } } } return defaultListeners; }
protected Map<String, Object> getParametersMap(RuntimeEngine runtime) { RuntimeManager manager = ((RuntimeEngineImpl)runtime).getManager(); Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("ksession", runtime.getKieSession()); try { parameters.put("taskService", runtime.getTaskService()); } catch (UnsupportedOperationException e) { // in case task service was not configured } parameters.put("runtimeManager", manager); parameters.put("classLoader", getRuntimeManager().getEnvironment().getClassLoader()); parameters.put("entityManagerFactory", runtime.getKieSession().getEnvironment().get(EnvironmentName.ENTITY_MANAGER_FACTORY)); parameters.put("kieContainer", getRuntimeManager().getKieContainer()); return parameters; }
@SuppressWarnings("unchecked") protected <T> List<T> getEventListenerFromDescriptor(RuntimeEngine runtime, Class<T> type) { List<T> listeners = new ArrayList<T>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (ObjectModel model : descriptor.getEventListeners()) { Object listenerInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (listenerInstance != null && type.isAssignableFrom(listenerInstance.getClass())) { listeners.add((T) listenerInstance); } else { // close/cleanup instance as it is not going to be used at the moment, except these that are cacheable if (listenerInstance instanceof Closeable && !(listenerInstance instanceof Cacheable)) { ((Closeable) listenerInstance).close(); } } } } return listeners; }
protected Map<String, WorkItemHandler> getWorkItemHandlersFromDescriptor(RuntimeEngine runtime) { Map<String, WorkItemHandler> defaultHandlers = new HashMap<String, WorkItemHandler>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getWorkItemHandlers()) { Object hInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (hInstance != null) { defaultHandlers.put(model.getName(), (WorkItemHandler) hInstance); } } } return defaultHandlers; }
protected Map<String, Object> getGlobalsFromDescriptor(RuntimeEngine runtime) { Map<String, Object> globals = new HashMap<String, Object>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getGlobals()) { Object gInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (gInstance != null) { globals.put(model.getName(), gInstance); } } } return globals; }
parameters.put("kieContainer", getRuntimeManager().getKieContainer()); parameters.put("classLoader", getRuntimeManager().getEnvironment().getClassLoader()); try {
InternalRuntimeManager toBeManager = (InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(migrationSpec.getToDeploymentId()); boolean migrateExecutorJobs = ((SimpleRuntimeEnvironment)currentManager.getEnvironment()).getEnvironmentTemplate().get("ExecutorService") != null; validate(migrateExecutorJobs); Map<Long, List<TimerInstance>> timerMigrated = null; txm = TransactionManagerFactory.get().newTransactionManager(currentManager.getEnvironment().getEnvironment()); transactionOwner = txm.begin(); org.kie.api.definition.process.Process toBeProcess = toBeManager.getEnvironment().getKieBase().getProcess(migrationSpec.getToProcessId()); report.addEntry(Type.INFO, "Executor Jobs updated = " + executorRequestsUpdated + " for process instance id " + migrationSpec.getProcessInstanceId()); current = JPAKnowledgeService.newStatefulKnowledgeSession(currentManager.getEnvironment().getKieBase(), null, currentManager.getEnvironment().getEnvironment()); tobe = toBeManager.getEnvironment().getKieBase().newKieSession(); upgradeProcessInstance(current, tobe, migrationSpec.getProcessInstanceId(), migrationSpec.getToProcessId(), nodeMapping, em, toBeManager.getIdentifier());
if (manager.getEnvironment().getKieBase().getProcess(migrationSpec.getToProcessId()) == null) { report.addEntry(Type.ERROR, "No process found for " + migrationSpec.getToProcessId() + " in deployment " + migrationSpec.getToDeploymentId());
throw new RuntimeException("No scheduler found for " + timerServiceId); jtaTm = startTxIfNeeded(((GlobalTimerService) scheduler).getRuntimeManager().getEnvironment().getEnvironment());
@Test public void testDeployWithDefaultDeploymentDescriptor() throws Exception { KieServices ks = KieServices.Factory.get(); ReleaseId releaseId = ks.newReleaseId("org.jbpm.test.dd", "kjar-with-dd", "1.0.0"); String processString = IOUtils.toString(this.getClass().getResourceAsStream("/BPMN2-ScriptTask.bpmn2"), "UTF-8"); Map<String, String> resources = new HashMap<String, String>(); resources.put("src/main/resources/BPMN2-ScriptTask.bpmn2", processString); InternalKieModule kJar1 = createKieJar(ks, releaseId, resources); installKjar(releaseId, kJar1); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(releaseId) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); InternalRuntimeManager internalManager = (InternalRuntimeManager) manager; DeploymentDescriptor descriptor = internalManager.getDeploymentDescriptor(); assertNotNull(descriptor); RegisterableItemsFactory factory = internalManager.getEnvironment().getRegisterableItemsFactory(); assertNotNull(factory); assertTrue(factory instanceof InternalRegisterableItemsFactory); assertNotNull(((InternalRegisterableItemsFactory) factory).getRuntimeManager()); String descriptorFromKjar = descriptor.toXml(); DeploymentDescriptorManager ddManager = new DeploymentDescriptorManager(); String defaultDescriptor = ddManager.getDefaultDescriptor().toXml(); assertEquals(defaultDescriptor, descriptorFromKjar); }
RegisterableItemsFactory factory = internalManager.getEnvironment().getRegisterableItemsFactory(); assertNotNull(factory); assertTrue(factory instanceof InternalRegisterableItemsFactory);
RegisterableItemsFactory factory = internalManager.getEnvironment().getRegisterableItemsFactory(); assertNotNull(factory); assertTrue(factory instanceof InternalRegisterableItemsFactory);
protected Properties loadJMSProperties() throws IOException { Properties properties = new Properties(); InputStream input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("/jbpm.audit.jms.properties"); // required for junit test if (input == null) { input = getRuntimeManager().getEnvironment().getClassLoader().getResourceAsStream("jbpm.audit.jms.properties"); } properties.load(input); return properties; } }
protected ClassLoader getClassLoader(String deploymentId) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); if (deploymentId == null) { return cl; } InternalRuntimeManager manager = ((InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(deploymentId)); if (manager != null && manager.getEnvironment().getClassLoader() != null) { cl = manager.getEnvironment().getClassLoader(); } return cl; }
protected ClassLoader getClassLoader(String deploymentId) { ClassLoader cl = Thread.currentThread().getContextClassLoader(); if (deploymentId == null) { return cl; } InternalRuntimeManager manager = ((InternalRuntimeManager)RuntimeManagerRegistry.get().getManager(deploymentId)); if (manager != null && manager.getEnvironment().getClassLoader() != null) { cl = manager.getEnvironment().getClassLoader(); } return cl; }
@Override public AuditService getAuditService() { if (auditService == null) { boolean usePersistence = ((InternalRuntimeManager)manager).getEnvironment().usePersistence(); if (usePersistence) { auditService = new JPAAuditLogService(getKieSession().getEnvironment()); } else { throw new UnsupportedOperationException("AuditService was not configured, supported only with persistence"); } } return auditService; }
protected Map<String, Object> getGlobalsFromDescriptor(RuntimeEngine runtime) { Map<String, Object> globals = new HashMap<String, Object>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getGlobals()) { Object gInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (gInstance != null) { globals.put(model.getName(), gInstance); } } } return globals; }
protected Map<String, WorkItemHandler> getWorkItemHandlersFromDescriptor(RuntimeEngine runtime) { Map<String, WorkItemHandler> defaultHandlers = new HashMap<String, WorkItemHandler>(); DeploymentDescriptor descriptor = getRuntimeManager().getDeploymentDescriptor(); if (descriptor != null) { Map<String, Object> params = getParametersMap(runtime); for (NamedObjectModel model : descriptor.getWorkItemHandlers()) { Object hInstance = getInstanceFromModel(model, getRuntimeManager().getEnvironment().getClassLoader(), params); if (hInstance != null) { defaultHandlers.put(model.getName(), (WorkItemHandler) hInstance); } } } return defaultHandlers; }