List of usage examples for org.springframework.orm.jpa EntityManagerFactoryUtils closeEntityManager
public static void closeEntityManager(@Nullable EntityManager em)
From source file:org.grails.datastore.gorm.jpa.support.JpaPersistenceContextInterceptor.java
@Override public void disconnect() { if (entityManager != null) { EntityManagerFactoryUtils.closeEntityManager(entityManager); } }
From source file:hsa.awp.common.util.OpenEntityManagerTimerTaskFactory.java
/** * Closes the previously created {@link EntityManager}. *//*from w w w. jav a 2s . co m*/ private void closeEntityManager() { log.trace("Unbinding EntityManager from thread '{}'", Thread.currentThread().getName()); EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager.unbindResource(emf); log.debug("Closing EntityManager"); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); }
From source file:hsa.awp.common.test.OpenEntityManagerInTest.java
/** * Closes the previously created {@link EntityManager}. */// w w w . j a va2 s . c o m @After public final void closeEntityManager() { if (create) { log.trace("Unbinding EntityManager from thread '{}'", Thread.currentThread().getName()); EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager .unbindResource(emf); log.debug("Closing EntityManager"); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); } else { log.debug("Don't close EntityManager because of @Transactional annotation"); } }
From source file:corner.orm.gae.impl.EntityManagerSourceImpl.java
@Override public void threadDidCleanup() { if (!participate) { EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager .unbindResource(entityManagerFactory); logger.debug("Closing JPA EntityManager in EntityManagerSourceImpl"); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); }/*w w w. ja va 2s.c o m*/ }
From source file:org.jasig.jpa.OpenEntityManagerAspect.java
@Around("anyPublicMethod() && @annotation(openEntityManager)") public Object openEntityManager(ProceedingJoinPoint pjp, OpenEntityManager openEntityManager) throws Throwable { final EntityManagerFactory emf = getEntityManagerFactory(openEntityManager); EntityManager em = getTransactionalEntityManager(emf); boolean isNewEm = false; if (em == null) { logger.debug("Opening JPA EntityManager in OpenEntityManagerAspect"); em = createEntityManager(emf);//w ww . j a va2s . c o m isNewEm = true; TransactionSynchronizationManager.bindResource(emf, new EntityManagerHolder(em)); } else { logger.debug("Using Existing JPA EntityManager in OpenEntityManagerAspect"); } try { return pjp.proceed(); } finally { if (isNewEm) { logger.debug("Closing JPA EntityManager in OpenEntityManagerAspect"); TransactionSynchronizationManager.unbindResource(emf); EntityManagerFactoryUtils.closeEntityManager(em); } } }
From source file:ar.com.zauber.commons.repository.closures.OpenEntityManagerClosure.java
/** @see Closure#execute(Object) */ public final void execute(final T t) { if (dryrun) { //permite evitar que se hagan commit() en el ambiente de test target.execute(t);/*from w ww .j a v a 2 s . com*/ } else { boolean participate = false; EntityTransaction transaction = null; if (TransactionSynchronizationManager.hasResource(emf)) { // Do not modify the EntityManager: just set the participate flag. participate = true; } else { try { final EntityManager em = emf.createEntityManager(); if (openTx) { if (!warningPrinted) { logger.warn( "The OpenEntityManagerClosure has Transactions enabled and is not recommended" + ". This behaviour will change in the future. Check setOpenTx(), "); } transaction = em.getTransaction(); transaction.begin(); } TransactionSynchronizationManager.bindResource(emf, new EntityManagerHolder(em)); } catch (PersistenceException ex) { throw new DataAccessResourceFailureException("Could not create JPA EntityManager", ex); } } if (transaction != null) { try { target.execute(t); if (transaction.getRollbackOnly()) { transaction.rollback(); } else { transaction.commit(); } } catch (final Throwable e) { if (transaction != null && transaction.isActive()) { transaction.rollback(); } throw new UnhandledException(e); } finally { if (!participate) { final EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager .unbindResource(emf); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); } } } else { try { target.execute(t); } finally { if (!participate) { final EntityManagerHolder emHolder = (EntityManagerHolder) TransactionSynchronizationManager .unbindResource(emf); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); } } } } }
From source file:org.codehaus.grepo.query.jpa.repository.DefaultJpaRepository.java
/** * @param emHolder The current entity manager info. *//*from w ww . j a v a 2 s . c om*/ protected void closeNewEntityManager(CurrentEntityManagerHolder emHolder) { if (emHolder.isNewEm()) { logger.debug("Closing new EntityManager after generic repository execution"); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); } else { // we have an existing entity manager if (emHolder.getPreviousFlushMode() != null) { logger.debug("Setting flushMode back to previous value '{}' after generic repository execution", emHolder.getPreviousFlushMode()); emHolder.getEntityManager().setFlushMode(emHolder.getPreviousFlushMode()); } } }
From source file:org.springframework.orm.jpa.support.AsyncRequestInterceptor.java
private void closeEntityManager() { if (this.timeoutInProgress || this.errorInProgress) { logger.debug("Closing JPA EntityManager after async request timeout/error"); EntityManagerFactoryUtils.closeEntityManager(emHolder.getEntityManager()); }//from w w w. j av a 2 s.c om }