if (!RuntimeManagerRegistry.get().isRegistered(migrationSpec.getDeploymentId())) { report.addEntry(Type.ERROR, "No deployment found for " + migrationSpec.getDeploymentId()); if (!RuntimeManagerRegistry.get().isRegistered(migrationSpec.getToDeploymentId())) { report.addEntry(Type.ERROR, "No target deployment found for " + migrationSpec.getToDeploymentId());
public AbstractRuntimeManager(RuntimeEnvironment environment, String identifier) { this.environment = environment; this.identifier = identifier; if (registry.isRegistered(identifier)) { throw new IllegalStateException("RuntimeManager with id " + identifier + " is already active"); } ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.DEPLOYMENT_ID, this.getIdentifier()); internalSetDeploymentDescriptor(); internalSetKieContainer(); ((InternalRegisterableItemsFactory)environment.getRegisterableItemsFactory()).setRuntimeManager(this); String eagerInit = (String)((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().get("RuntimeEngineEagerInit"); if (eagerInit != null) { engineInitEager = Boolean.parseBoolean(eagerInit); } ExecutionErrorStorage storage = (ExecutionErrorStorage) ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().get("ExecutionErrorStorage"); if (storage == null) { storage = new DefaultExecutionErrorStorage(environment.getEnvironment()); } this.executionErrorManager = new ExecutionErrorManagerImpl(storage); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.EXEC_ERROR_MANAGER, executionErrorManager); }
@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; }
@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; } }
@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; } }
if (!RuntimeManagerRegistry.get().isRegistered(migrationSpec.getDeploymentId())) { report.addEntry(Type.ERROR, "No deployment found for " + migrationSpec.getDeploymentId()); if (!RuntimeManagerRegistry.get().isRegistered(migrationSpec.getToDeploymentId())) { report.addEntry(Type.ERROR, "No target deployment found for " + migrationSpec.getToDeploymentId());
public AbstractRuntimeManager(RuntimeEnvironment environment, String identifier) { this.environment = environment; this.identifier = identifier; if (registry.isRegistered(identifier)) { throw new IllegalStateException("RuntimeManager with id " + identifier + " is already active"); } ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.DEPLOYMENT_ID, this.getIdentifier()); internalSetDeploymentDescriptor(); internalSetKieContainer(); ((InternalRegisterableItemsFactory)environment.getRegisterableItemsFactory()).setRuntimeManager(this); String eagerInit = (String)((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().get("RuntimeEngineEagerInit"); if (eagerInit != null) { engineInitEager = Boolean.parseBoolean(eagerInit); } ExecutionErrorStorage storage = (ExecutionErrorStorage) ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().get("ExecutionErrorStorage"); if (storage == null) { storage = new DefaultExecutionErrorStorage(environment.getEnvironment()); } this.executionErrorManager = new ExecutionErrorManagerImpl(storage); ((SimpleRuntimeEnvironment)environment).getEnvironmentTemplate().set(EnvironmentName.EXEC_ERROR_MANAGER, executionErrorManager); }