protected TransactionManager getTransactionManagerInternal(Environment env) { try { return getTransactionManager(env); } catch (Exception e) { // return no op transaction manager as none were found so let the ksession manage the tx instead return new NoOpTransactionManager(); } }
protected void registerDisposeCallback(RuntimeEngine runtime, TransactionSynchronization sync, Environment environment) { // register it if there is an active transaction as we assume then to be running in a managed environment e.g CMT TransactionManager tm = getTransactionManager(environment); if (tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { TransactionManagerHelper.registerTransactionSyncInContainer(tm, (OrderedTransactionSynchronization) sync); } }
protected boolean canDestroy(RuntimeEngine runtime) { if (((RuntimeEngineImpl) runtime).isAfterCompletion()) { return false; } TransactionManager tm = getTransactionManager(runtime.getKieSession().getEnvironment()); if (tm.getStatus() == TransactionManager.STATUS_NO_TRANSACTION || tm.getStatus() == TransactionManager.STATUS_ACTIVE) { return true; } return false; }
protected boolean canDispose(RuntimeEngine runtime) { // avoid duplicated dispose if (((RuntimeEngineImpl)runtime).isDisposed()) { return false; } // if this method was called as part of afterCompletion allow to dispose if (((RuntimeEngineImpl)runtime).isAfterCompletion()) { return true; } try { // check tx status to disallow dispose when within active transaction TransactionManager tm = getTransactionManager(runtime.getKieSession().getEnvironment()); if (tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { return false; } } catch (SessionNotFoundException e) { // ignore it as it might be thrown for per process instance } return true; }
protected TransactionManager getTransactionManagerInternal(Environment env) { try { return getTransactionManager(env); } catch (Exception e) { // return no op transaction manager as none were found so let the ksession manage the tx instead return new NoOpTransactionManager(); } }
protected void registerDisposeCallback(RuntimeEngine runtime, TransactionSynchronization sync, Environment environment) { // register it if there is an active transaction as we assume then to be running in a managed environment e.g CMT TransactionManager tm = getTransactionManager(environment); if (tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { TransactionManagerHelper.registerTransactionSyncInContainer(tm, (OrderedTransactionSynchronization) sync); } }
protected boolean canDestroy(RuntimeEngine runtime) { if (((RuntimeEngineImpl) runtime).isAfterCompletion()) { return false; } TransactionManager tm = getTransactionManager(runtime.getKieSession().getEnvironment()); if (tm.getStatus() == TransactionManager.STATUS_NO_TRANSACTION || tm.getStatus() == TransactionManager.STATUS_ACTIVE) { return true; } return false; }
protected boolean canDispose(RuntimeEngine runtime) { // avoid duplicated dispose if (((RuntimeEngineImpl)runtime).isDisposed()) { return false; } // if this method was called as part of afterCompletion allow to dispose if (((RuntimeEngineImpl)runtime).isAfterCompletion()) { return true; } try { // check tx status to disallow dispose when within active transaction TransactionManager tm = getTransactionManager(runtime.getKieSession().getEnvironment()); if (tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { return false; } } catch (SessionNotFoundException e) { // ignore it as it might be thrown for per process instance } return true; }