public RuntimeManager getManager(Task task) { return registry.getManager(task.getTaskData().getDeploymentId()); }
RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); if (runtimeManager == null) { throw new IllegalArgumentException("No runtime manager found for deployment id " + deploymentId);
@Override public void execute(JobContext ctx) { RuntimeManager runtimeManager = null; RuntimeEngine engine = null; CommandExecutor executor = null; if (deploymentId != null && processInstanceId != null) { runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); engine = runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); executor = engine.getTaskService(); } else { executor = TaskDeadlinesServiceImpl.getInstance(); } try { executor.execute(new ExecuteDeadlinesCommand(taskId, deadlineId, type)); } catch (NullPointerException e) { logger.error("TaskDeadlineService instance is not available, most likely was not properly initialized - Job did not run!"); } finally { if (runtimeManager != null && engine != null) { runtimeManager.disposeRuntimeEngine(engine); } } }
public ScheduledTaskDeadline call() throws Exception { RuntimeManager runtimeManager = null; RuntimeEngine engine = null; CommandExecutor executor = null; if (deploymentId != null && processInstanceId != null) { runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); engine = runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); executor = engine.getTaskService(); } else { executor = TaskDeadlinesServiceImpl.getInstance(); } try { executor.execute(new ExecuteDeadlinesCommand(taskId, deadlineId, type)); } catch (NullPointerException e) { logger.error("TaskDeadlineService instance is not available, most likely was not properly initialized - Job did not run!"); } finally { if (runtimeManager != null && engine != null) { runtimeManager.disposeRuntimeEngine(engine); } } return null; }
InternalRuntimeManager manager = (InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(migrationSpec.getToDeploymentId()); if (manager.getEnvironment().getKieBase().getProcess(migrationSpec.getToProcessId()) == null) { report.addEntry(Type.ERROR, "No process found for " + migrationSpec.getToProcessId() + " in deployment " + migrationSpec.getToDeploymentId()); InternalRuntimeManager sourceManager = (InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(migrationSpec.getDeploymentId()); if (!sourceManager.getClass().isAssignableFrom(manager.getClass())) { report.addEntry(Type.ERROR, "Source (" + sourceManager.getClass().getName() + ") and target (" + manager.getClass().getName() + ") deployments are of different type (they represent different runtime strategies)");
TransactionManager txm = null; boolean transactionOwner = false; InternalRuntimeManager currentManager = (InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(migrationSpec.getDeploymentId()); InternalRuntimeManager toBeManager = (InternalRuntimeManager) RuntimeManagerRegistry.get().getManager(migrationSpec.getToDeploymentId());
@Override public ExecutionResults execute(CommandContext ctx) throws Exception { String deploymentId = (String) ctx.getData("deploymentId"); if (deploymentId == null) { deploymentId = (String) ctx.getData("DeploymentId"); } Long processInstanceId = (Long) ctx.getData("processInstanceId"); if (processInstanceId == null) { processInstanceId = (Long) ctx.getData("ProcessInstanceId"); } String signal = (String) ctx.getData("Signal"); Object event = ctx.getData("Event"); if (deploymentId == null || signal == null) { throw new IllegalArgumentException("Deployment id and signal name is required"); } RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); if (runtimeManager == null) { throw new IllegalArgumentException("No runtime manager found for deployment id " + deploymentId); } RuntimeEngine engine = runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); try { engine.getKieSession().signalEvent(signal, event, processInstanceId); return new ExecutionResults(); } finally { runtimeManager.disposeRuntimeEngine(engine); } }
protected RuntimeManager getRuntimeManager(CommandContext ctx) { String deploymentId = (String) ctx.getData("deploymentId"); RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); if (runtimeManager == null) { throw new IllegalStateException("There is no runtime manager for deployment " + deploymentId); } return runtimeManager; }
public RuntimeManager getManager(Task task) { return registry.getManager(task.getTaskData().getDeploymentId()); }
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; }
protected RuntimeEngine getRuntimeEngine(String releaseId, Long processInstanceId) { RuntimeManager manager = RuntimeManagerRegistry.get().getManager(releaseId); Context<?> context = EmptyContext.get(); if (processInstanceId != null && manager instanceof PerProcessInstanceRuntimeManager) { context = ProcessInstanceIdContext.get(processInstanceId); } if (manager != null) { RuntimeEngine engine = manager.getRuntimeEngine(context); return engine; } return null; }
@Override public CommandExecutor lookupKieSession(String kieSessionId, KieContainerInstance containerInstance, KieServerRegistry registry) { String managerId = kieSessionId; Long processInstanceId = null; if (kieSessionId.indexOf("#") != -1) { String[] managerAndInstanceIds = kieSessionId.split("#"); managerId = managerAndInstanceIds[0]; processInstanceId = Long.parseLong(managerAndInstanceIds[1]); } if (RuntimeManagerRegistry.get().isRegistered(managerId)) { RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(managerId); Context ctx = EmptyContext.get(); if (processInstanceId != null) { ctx = ProcessInstanceIdContext.get(processInstanceId); } RuntimeEngine engine = runtimeManager.getRuntimeEngine(ctx); return new RuntimeEngineDisposableCommandExecutor(runtimeManager, engine); } return null; }
public void run() { try { Map<String, Object> results = MavenEmbedderUtils.executeMavenGoals(new KieMavenCli(projectRoot), RESULTS_VALUES, projectRoot, commandLineOptions, goals, workDir); RuntimeManager manager = RuntimeManagerRegistry.get().getManager(deploymentId); if (manager != null) { RuntimeEngine engine = manager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); engine.getKieSession().getWorkItemManager().completeWorkItem(workItemId, results); manager.disposeRuntimeEngine(engine); } else { logger.error("Unable to complete workitem: runtime manager not found."); throw new RuntimeException("Unable to complete workitem: runtime manager not found."); } } catch (Exception e) { logger.error("Unable to execute maven commands asynchronously", e); throw new RuntimeException("Unable to execute maven commands asynchronously", e); } } }).start();
RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); if (runtimeManager == null) { throw new IllegalArgumentException("No runtime manager found for deployment id " + deploymentId);
@Override public Object getObject() throws Exception { if(RuntimeManagerRegistry.get().isRegistered(getIdentifier())) { // get the runtime manager from the registry return RuntimeManagerRegistry.get().getManager(getIdentifier()); } else { TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(applicationContext.getBean(AbstractPlatformTransactionManager.class)); } RuntimeManager manager = null; if ("PER_REQUEST".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerRequestRuntimeManager(runtimeEnvironment, identifier); } else if ("PER_PROCESS_INSTANCE".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerProcessInstanceRuntimeManager(runtimeEnvironment, identifier); } else { manager = factory.newSingletonRuntimeManager(runtimeEnvironment, identifier); } runtimeManagerSet.add(manager); return manager; } }
@Before public void setup() throws Exception { RuntimeManager runtimeManager = PowerMockito.mock(RuntimeManager.class); RuntimeEngine engine = PowerMockito.mock(RuntimeEngine.class); KieSession session = PowerMockito.mock(KieSession.class); WorkItemManager workitemManager = PowerMockito.mock(WorkItemManager.class); RuntimeManagerRegistry runtimeManagerRegistry = PowerMockito.mock(RuntimeManagerRegistry.class); PowerMockito.mockStatic(RuntimeManagerRegistry.class); when(RuntimeManagerRegistry.get()).thenReturn(runtimeManagerRegistry); when(runtimeManagerRegistry.getManager(anyString())).thenReturn(runtimeManager); when(runtimeManager.getRuntimeEngine(any(Context.class))).thenReturn(engine); when(engine.getKieSession()).thenReturn(session); when(session.getWorkItemManager()).thenReturn(workitemManager); doNothing().when(workitemManager).completeWorkItem(anyLong(), any(Map.class)); doNothing().when(runtimeManager).disposeRuntimeEngine(any(RuntimeEngine.class)); }
@Override public Object getObject() throws Exception { if(RuntimeManagerRegistry.get().isRegistered(getIdentifier())) { // get the runtime manager from the registry return RuntimeManagerRegistry.get().getManager(getIdentifier()); } else { TransactionManagerFactory transactionManagerFactory = TransactionManagerFactory.get(); if (transactionManagerFactory instanceof KieSpringTransactionManagerFactory) { ((KieSpringTransactionManagerFactory) transactionManagerFactory).setGlobalTransactionManager(applicationContext.getBean(AbstractPlatformTransactionManager.class)); } RuntimeManager manager = null; if ("PER_REQUEST".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerRequestRuntimeManager(runtimeEnvironment, identifier); } else if ("PER_PROCESS_INSTANCE".equalsIgnoreCase(type)) { disallowSharedTaskService(runtimeEnvironment); manager = factory.newPerProcessInstanceRuntimeManager(runtimeEnvironment, identifier); } else { manager = factory.newSingletonRuntimeManager(runtimeEnvironment, identifier); } runtimeManagerSet.add(manager); return manager; } }
RuntimeManager manager = RuntimeManagerRegistry.get().getManager(deploymentId); if (manager != null) { RuntimeEngine engine = manager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId));
@Override public ExecutionResults execute(CommandContext ctx) throws Exception { String deploymentId = (String) ctx.getData("deploymentId"); if (deploymentId == null) { deploymentId = (String) ctx.getData("DeploymentId"); } Long processInstanceId = (Long) ctx.getData("processInstanceId"); if (processInstanceId == null) { processInstanceId = (Long) ctx.getData("ProcessInstanceId"); } String signal = (String) ctx.getData("Signal"); Object event = ctx.getData("Event"); if (deploymentId == null || signal == null) { throw new IllegalArgumentException("Deployment id and signal name is required"); } RuntimeManager runtimeManager = RuntimeManagerRegistry.get().getManager(deploymentId); if (runtimeManager == null) { throw new IllegalArgumentException("No runtime manager found for deployment id " + deploymentId); } RuntimeEngine engine = runtimeManager.getRuntimeEngine(ProcessInstanceIdContext.get(processInstanceId)); try { engine.getKieSession().signalEvent(signal, event, processInstanceId); return new ExecutionResults(); } finally { runtimeManager.disposeRuntimeEngine(engine); } }