protected WorkItemHandler getHTWorkItemHandler(RuntimeEngine runtime) { LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler(); humanTaskHandler.setRuntimeManager(((RuntimeEngineImpl)runtime).getManager()); return humanTaskHandler; }
runtime = new RuntimeEngineImpl(ksession, internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this); ((RuntimeEngineImpl) runtime).setContext(context); configureRuntimeOnTaskService(internalTaskService, runtime); registerDisposeCallback(runtime, new DisposeSessionTransactionSynchronization(this, runtime), ksession.getEnvironment()); runtime = new RuntimeEngineImpl(context, new PerProcessInstanceInitializer()); ((RuntimeEngineImpl) runtime).setManager(this);
@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; }
RuntimeEngine engine = local.get().get(identifier); if (engine != null && ((RuntimeEngineImpl) engine).isDisposed()) { return null; runtime = new RuntimeEngineImpl(factory.newKieSession(), internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this); attachManager(runtime); } else { runtime = new RuntimeEngineImpl(context, new PerRequestInitializer()); ((RuntimeEngineImpl) runtime).setManager(this);
doReturn(runtimeMgrMock).when(runtimeEngineMock).getManager(); doReturn(kieSessionMock).when(runtimeEngineMock).getKieSession();
RuntimeEngine runtime = new RuntimeEngineImpl(ksession, internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this);
persistSessionId(location, identifier, singleton.getKieSession().getIdentifier()); ((RuntimeEngineImpl) singleton).setManager(this); TaskContentRegistry.get().addMarshallerContext(getIdentifier(), new ContentMarshallerContext(environment.getEnvironment(), environment.getClassLoader()));
protected void releaseAndCleanLock(RuntimeEngine runtime) { if (!isUseLocking()) { logger.debug("Locking on runtime manager disabled"); return; } if (((RuntimeEngineImpl)runtime).getContext() instanceof ProcessInstanceIdContext) { Long piId = ((ProcessInstanceIdContext) ((RuntimeEngineImpl)runtime).getContext()).getContextId(); if (piId != null) { releaseAndCleanLock(piId, runtime); } } }
local.get().remove(identifier); try { Long ksessionId = ((RuntimeEngineImpl)runtime).getKieSessionId(); factory.onDispose(ksessionId); if (canDestroy(runtime)) {
RuntimeEngine engine = local.get().get(identifier); if (engine != null && ((RuntimeEngineImpl) engine).isDisposed()) { return null; runtime = new RuntimeEngineImpl(factory.newKieSession(), internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this); attachManager(runtime); } else { runtime = new RuntimeEngineImpl(context, new PerRequestInitializer()); ((RuntimeEngineImpl) runtime).setManager(this);
persistSessionId(location, identifier, singleton.getKieSession().getIdentifier()); ((RuntimeEngineImpl) singleton).setManager(this); TaskContentRegistry.get().addMarshallerContext(getIdentifier(), new ContentMarshallerContext(environment.getEnvironment(), environment.getClassLoader()));
RuntimeEngine[] activeEngines = currentlyActive.values().toArray(new RuntimeEngine[currentlyActive.size()]); for (RuntimeEngine engine : activeEngines) { Context<?> context = ((RuntimeEngineImpl) engine).getContext(); if (context != null && context instanceof ProcessInstanceIdContext && ((ProcessInstanceIdContext) context).getContextId() != null) {
removeLocalRuntime(runtime); Long ksessionId = ((RuntimeEngineImpl)runtime).getKieSessionId(); releaseAndCleanLock(ksessionId, runtime); if (runtime instanceof Disposable) {
public AuditEventBuilder getAuditBuilder(RuntimeEngine engine) { if (this.auditBuilder != null && this.auditBuilder instanceof ManagedAuditEventBuilderImpl) { String identifier = ((RuntimeEngineImpl)engine).getManager().getIdentifier(); ((ManagedAuditEventBuilderImpl) this.auditBuilder).setOwnerId(identifier); } return this.auditBuilder; }
runtime = new RuntimeEngineImpl(ksession, internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this); ((RuntimeEngineImpl) runtime).setContext(context); configureRuntimeOnTaskService(internalTaskService, runtime); registerDisposeCallback(runtime, new DisposeSessionTransactionSynchronization(this, runtime), ksession.getEnvironment()); runtime = new RuntimeEngineImpl(context, new PerCaseInitializer()); ((RuntimeEngineImpl) runtime).setManager(this);
@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; }
@Override public void signalEvent(String type, Object event) { // first signal with new context in case there are start event with signal RuntimeEngine runtimeEngine = getRuntimeEngine(ProcessInstanceIdContext.get()); runtimeEngine.getKieSession().signalEvent(type, event); if (canDispose(runtimeEngine)) { disposeRuntimeEngine(runtimeEngine); } // next find out all instances waiting for given event type List<String> processInstances = ((InternalMapper) mapper).findContextIdForEvent(type, getIdentifier()); for (String piId : processInstances) { runtimeEngine = getRuntimeEngine(ProcessInstanceIdContext.get(Long.parseLong(piId))); runtimeEngine.getKieSession().signalEvent(type, event); if (canDispose(runtimeEngine)) { disposeRuntimeEngine(runtimeEngine); } } // process currently active runtime engines Map<Object, RuntimeEngine> currentlyActive = local.get(); if (currentlyActive != null && !currentlyActive.isEmpty()) { RuntimeEngine[] activeEngines = currentlyActive.values().toArray(new RuntimeEngine[currentlyActive.size()]); for (RuntimeEngine engine : activeEngines) { Context<?> context = ((RuntimeEngineImpl) engine).getContext(); if (context != null && context instanceof ProcessInstanceIdContext && ((ProcessInstanceIdContext) context).getContextId() != null) { engine.getKieSession().signalEvent(type, event, ((ProcessInstanceIdContext) context).getContextId()); } } } }
removeLocalRuntime(runtime); Long ksessionId = ((RuntimeEngineImpl)runtime).getKieSessionId(); if (runtime instanceof Disposable) {
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; }
runtime = new RuntimeEngineImpl(ksession, internalTaskService); ((RuntimeEngineImpl) runtime).setManager(this); ((RuntimeEngineImpl) runtime).setContext(context); configureRuntimeOnTaskService(internalTaskService, runtime); registerDisposeCallback(runtime, new DisposeSessionTransactionSynchronization(this, runtime), ksession.getEnvironment()); runtime = new RuntimeEngineImpl(context, new PerProcessInstanceInitializer()); ((RuntimeEngineImpl) runtime).setManager(this);