public void registerTransactionSynchronization(TransactionSynchronization arg0) { if (txSyncRegistry != null) { TransactionSynchronizationRegistryHelper.registerTransactionSynchronization( txSyncRegistry, arg0 ); } }
@Override public void set(String identifier, Object value) { txm.putResource(identifier, value); }
protected void countDown() { try { TransactionManager tm = TransactionManagerFactory.get().newTransactionManager(); if (tm != null && tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { tm.registerTransactionSynchronization(new TransactionSynchronization() { @Override public void beforeCompletion() { } @Override public void afterCompletion(int status) { latch.countDown(); } }); } else { latch.countDown(); } } catch (Exception e) { latch.countDown(); } } }
protected boolean allowedToDispose(Environment environment) { if (hasEnvironmentEntry(environment, "IS_JTA_TRANSACTION", false)) { return true; } TransactionManager transactionManager = null; Object txm = environment.get(EnvironmentName.TRANSACTION_MANAGER); if (txm != null && txm instanceof TransactionManager) { transactionManager = (TransactionManager) txm; } else { transactionManager = TransactionManagerFactory.get().newTransactionManager(); } int status = transactionManager.getStatus(); if (status != TransactionManager.STATUS_NO_TRANSACTION && status != TransactionManager.STATUS_ROLLEDBACK && status != TransactionManager.STATUS_COMMITTED) { return false; } return true; }
public TransactionalCommandService(EntityManagerFactory emf) { this(emf, TransactionManagerFactory.get().newTransactionManager()); }
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); } }
@Override public Object get(String identifier) { return txm.getResource(identifier); }
protected void commitTransaction(Object transaction) { if( transaction == USER_MANAGED_TRANSACTION ) { return; } TransactionManager txm = (TransactionManager) transaction; try { if( txm != null ) { // There's a tx running, close it. txm.commit(true); } } catch(Exception e) { logger.error("Unable to commit transaction: ", e); } }
private void rollbackTransaction(Exception t1, boolean transactionOwner) { try { logger.warn("Could not commit session", t1); txm.rollback(transactionOwner); } catch (Exception t2) { logger.error("Could not rollback", t2); throw new RuntimeException("Could not commit session or rollback", t2); } }
public void saveOrUpdate(PersistentWorkItem workItem) { workItems.put( workItem.getId(), workItem ); }
@Override public Object getResource(Object key) { return TransactionSynchronizationRegistryHelper.getResource(this.txSyncRegistry, key); }
@Override public void putResource(Object key, Object resource) { TransactionSynchronizationRegistryHelper.putResource(this.txSyncRegistry, key, resource); }
@Override public int compareTo(OrderedTransactionSynchronization o) { if (o instanceof ScheduleTimerTransactionSynchronization) { if (this.timerJobInstance.equals(((ScheduleTimerTransactionSynchronization) o).timerJobInstance)) { return 0; } return -1; } return super.compareTo(o); }
protected void countDown() { try { TransactionManager tm = TransactionManagerFactory.get().newTransactionManager(); if (tm != null && tm.getStatus() != TransactionManager.STATUS_NO_TRANSACTION && tm.getStatus() != TransactionManager.STATUS_ROLLEDBACK && tm.getStatus() != TransactionManager.STATUS_COMMITTED) { tm.registerTransactionSynchronization(new TransactionSynchronization() { @Override public void beforeCompletion() { } @Override public void afterCompletion(int status) { latch.countDown(); } }); } else { latch.countDown(); } } catch (Exception e) { latch.countDown(); } } }
public void resetTransactionManager() { logger.debug("Reseting Transaction Manager"); this.tm = TransactionManagerFactory.get().newTransactionManager(); } }
protected EntityManager getEntityManagerFromTransaction(Environment env) { if (env.get(EnvironmentName.TRANSACTION_MANAGER) instanceof TransactionManager) { TransactionManager txm = (TransactionManager) env.get(EnvironmentName.TRANSACTION_MANAGER); EntityManager em = (EntityManager) txm.getResource(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); return em; } return null; }
public void remove(PersistentWorkItem workItem) { workItems.remove( workItem.getId() ); }
protected EntityManager getEntityManager(Command<?> command) { EntityManager em = (EntityManager) txm.getResource(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); if (em != null && em.isOpen() && em.getEntityManagerFactory().equals(emf)) { return em; } return null; }