@Override public KieSession initKieSession(Context<?> context, InternalRuntimeManager manager, RuntimeEngine engine) { RuntimeEngine inUse = local.get().get(identifier); if (inUse != null && ((RuntimeEngineImpl) inUse).internalGetKieSession() != null) { return inUse.getKieSession(); } KieSession ksession = factory.newKieSession(); ((RuntimeEngineImpl)engine).internalSetKieSession(ksession); registerDisposeCallback(engine, new DisposeSessionTransactionSynchronization(manager, engine), ksession.getEnvironment()); registerDisposeCallback(engine, new DestroySessionTransactionSynchronization(ksession), ksession.getEnvironment()); registerItems(engine); attachManager(engine); return ksession; }
if (localRuntime != null && ((RuntimeEngineImpl) engine).internalGetKieSession() != null) { return localRuntime.getKieSession();
} else { RuntimeEngine localRuntime = ((PerProcessInstanceRuntimeManager)manager).findLocalRuntime(contextId); if (localRuntime != null && ((RuntimeEngineImpl)engine).internalGetKieSession() != null) { return localRuntime.getKieSession();
@Override public KieSession initKieSession(Context<?> context, InternalRuntimeManager manager, RuntimeEngine engine) { RuntimeEngine inUse = local.get().get(identifier); if (inUse != null && ((RuntimeEngineImpl) inUse).internalGetKieSession() != null) { return inUse.getKieSession(); } KieSession ksession = factory.newKieSession(); ((RuntimeEngineImpl)engine).internalSetKieSession(ksession); registerDisposeCallback(engine, new DisposeSessionTransactionSynchronization(manager, engine), ksession.getEnvironment()); registerDisposeCallback(engine, new DestroySessionTransactionSynchronization(ksession), ksession.getEnvironment()); registerItems(engine); attachManager(engine); return ksession; }
if (localRuntime != null && ((RuntimeEngineImpl) engine).internalGetKieSession() != null) { return localRuntime.getKieSession();
} else { RuntimeEngine localRuntime = ((PerProcessInstanceRuntimeManager)manager).findLocalRuntime(contextId); if (localRuntime != null && ((RuntimeEngineImpl)engine).internalGetKieSession() != null) { return localRuntime.getKieSession();