@Override public void afterCompletion(int status) { try { super.afterCompletion(status); if (status != STATUS_COMMITTED) { // Haven't had an afterCommit call: trigger a rollback. try { this.entityManager.getTransaction().rollback(); } catch (RuntimeException ex) { throw convertException(ex); } } } finally { if (this.closeOnCompletion) { EntityManagerFactoryUtils.closeEntityManager(this.entityManager); } } }
@Override public void afterCompletion(int status) { try { super.afterCompletion(status); if (status != STATUS_COMMITTED) { // Haven't had an afterCommit call: trigger a rollback. try { this.entityManager.getTransaction().rollback(); } catch (RuntimeException ex) { throw convertException(ex); } } } finally { if (this.closeOnCompletion) { EntityManagerFactoryUtils.closeEntityManager(this.entityManager); } } }
@Override public void afterCompletion(int status) { if (status == TransactionSynchronization.STATUS_ROLLED_BACK && this.resourceHolder.hasActiveTransaction()) { resourceHolder.getRequiredSession().abortTransaction(); } super.afterCompletion(status); }
@Override public void afterCompletion(int status) { try { if (status == TransactionSynchronization.STATUS_COMMITTED) { this.resourceHolder.commit(); } else { this.resourceHolder.rollback(); } } finally { super.afterCompletion(status); } }
@Override public void afterCompletion(int status) { if (status == TransactionSynchronization.STATUS_ROLLED_BACK && this.resourceHolder.hasActiveTransaction()) { resourceHolder.getRequiredSession().abortTransaction(); } super.afterCompletion(status); }
@Override public void afterCompletion(int status) { log.finest("In HazelcastMQTransactionSynchronization::afterCompletion"); super.afterCompletion(status); }
@Override public void afterCompletion(int status) { log.finest("In HazelcastTransactionSynchronization::afterCompletion"); super.afterCompletion(status); }
@Override public void afterCompletion(int status) { try { super.afterCompletion(status); if (status != STATUS_COMMITTED) { // Haven't had an afterCommit call: trigger a rollback. try { this.entityManager.getTransaction().rollback(); } catch (RuntimeException ex) { throw convertException(ex); } } } finally { if (this.closeOnCompletion) { EntityManagerFactoryUtils.closeEntityManager(this.entityManager); } } }
@Override public void afterCompletion(int status) { if (status == TransactionSynchronization.STATUS_COMMITTED) { this.resourceHolder.commitAll(); } else { this.resourceHolder.rollbackAll(); } if (this.resourceHolder.isReleaseAfterCompletion()) { this.resourceHolder.setSynchronizedWithTransaction(false); } super.afterCompletion(status); }
@Override public void afterCompletion(int status) { if (status == TransactionSynchronization.STATUS_COMMITTED) { this.resourceHolder.commitAll(); } else { this.resourceHolder.rollbackAll(); } if (this.resourceHolder.isReleaseAfterCompletion()) { this.resourceHolder.setSynchronizedWithTransaction(false); } super.afterCompletion(status); }
@Override public void afterCompletion(int status) { try { Collection<Entity> instances = container.getAllInstances(); if (log.isTraceEnabled()) log.trace("ContainerResourceSynchronization.afterCompletion: instances = " + instances); for (Object instance : instances) { if (instance instanceof BaseGenericIdEntity) { if (status == TransactionSynchronization.STATUS_COMMITTED) { if (BaseEntityInternalAccess.isNew((BaseGenericIdEntity) instance)) { // new instances become not new and detached only if the transaction was committed BaseEntityInternalAccess.setNew((BaseGenericIdEntity) instance, false); } } else { // commit failed or the transaction was rolled back makeDetached(instance); for (Entity entity : container.getNewDetachedInstances()) { BaseEntityInternalAccess.setNew((BaseGenericIdEntity) entity, true); BaseEntityInternalAccess.setDetached((BaseGenericIdEntity) entity, false); } } } } for (AfterCompleteTransactionListener listener : afterCompleteTxListeners) { listener.afterComplete(status == TransactionSynchronization.STATUS_COMMITTED, instances); } } finally { super.afterCompletion(status); } }