Example usage for org.springframework.transaction.support TransactionSynchronizationManager unbindResource

List of usage examples for org.springframework.transaction.support TransactionSynchronizationManager unbindResource

Introduction

In this page you can find the example usage for org.springframework.transaction.support TransactionSynchronizationManager unbindResource.

Prototype

public static Object unbindResource(Object key) throws IllegalStateException 

Source Link

Document

Unbind a resource for the given key from the current thread.

Usage

From source file:org.springextensions.neodatis.NeoDatisTransactionManager.java

@Override
protected void doResume(Object transaction, Object suspendedResources) throws TransactionException {
    SuspendedResourcesHolder suspendedResourcesHolder = (SuspendedResourcesHolder) suspendedResources;
    if (TransactionSynchronizationManager.hasResource(getOdb())) {
        TransactionSynchronizationManager.unbindResource(getOdb());
    }/*from w  w w  .  j  a  v  a 2 s.  c om*/
    TransactionSynchronizationManager.bindResource(getOdb(), suspendedResourcesHolder.getOdbHolder());
}

From source file:org.tsm.concharto.service.KmlExportService.java

public void postProcessTransactionFactory() {
    // single session mode
    SessionHolder sessionHolder = (SessionHolder) TransactionSynchronizationManager
            .unbindResource(sessionFactory);
    SessionFactoryUtils.closeSession(sessionHolder.getSession());
}

From source file:org.develspot.data.orientdb.transaction.OrientDBTransactionManager.java

@Override
protected void doCleanupAfterCompletion(Object transaction) {
    OrientDBTransactionObject txObject = (OrientDBTransactionObject) transaction;

    TransactionSynchronizationManager.unbindResource(getDataSource());
    txObject.getConnectionHolder().clear();
    orientDataSource.closeCurrentConnection();
}

From source file:org.drools.container.spring.beans.persistence.DroolsSpringJpaManager.java

public void endCommandScopedEntityManager() {
    if (TransactionSynchronizationManager.hasResource("cmdEM")) {
        TransactionSynchronizationManager.unbindResource("cmdEM");
        if (this.env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER) != null) {
            getCommandScopedPersistenceContext().close();
        }/*from   w  w w .  j  a  v a  2  s  .co  m*/

    }
}

From source file:com.jaspersoft.jasperserver.test.CoreDataCreateTestNG.java

@AfterClass()
public void onTearDown() {
    m_logger.info("onTearDown() called");

    SessionHolder holder = (SessionHolder) TransactionSynchronizationManager.getResource(m_sessionFactory);
    Session s = holder.getSession();/* w w  w.  j a va2 s .  c  o m*/
    s.flush();
    TransactionSynchronizationManager.unbindResource(m_sessionFactory);
    SessionFactoryUtils.releaseSession(s, m_sessionFactory);
}

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);/*w ww  . j  av  a 2 s  . c o m*/
    } 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.drools.container.spring.beans.persistence.DroolsSpringJpaManager.java

public void dispose() {
    logger.trace("Disposing DroolsSpringJpaManager");
    if (internalAppScopedEntityManager) {
        //TransactionSynchronizationManager.unbindResource( "appEM" );
        TransactionSynchronizationManager.unbindResource(this.emf);
        if (this.appScopedEntityManager != null && this.appScopedEntityManager.isOpen()) {
            this.appScopedEntityManager.close();
            this.internalAppScopedEntityManager = false;
            this.env.set(EnvironmentName.APP_SCOPED_ENTITY_MANAGER, null);
            this.appScopedEntityManager = null;
        }/*from   w  w  w  .  j  a  va2s. c  o  m*/
        this.endCommandScopedEntityManager();
    }
}

From source file:de.codecentric.batch.metrics.BatchMetricsImpl.java

@Override
public void afterCompletion(int status) {
    if (LOG.isDebugEnabled()) {
        LOG.debug("Entered afterCompletion with status " + status + ".");
    }/*from   w ww.j  a  v  a  2 s .com*/
    if (status == STATUS_COMMITTED) {
        MetricContainer currentMetricContainer = metricContainer.get();
        for (Pair<String, ? extends Number> metric : currentMetricContainer.metrics) {
            if (metric.getRight() instanceof Long) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Increment " + metric + ".");
                }
                incrementNonTransactional(metric.getLeft(), (Long) metric.getRight());
            } else if (metric.getRight() instanceof Double) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Gauge " + metric + ".");
                }
                set(metric.getLeft(), (Double) metric.getRight());
            } else if (metric.getRight() == null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Reset " + metric + ".");
                }
                remove(metric.getLeft());
            }
        }
    }
    metricContainer.remove();
    if (TransactionSynchronizationManager.hasResource(serviceKey)) {
        TransactionSynchronizationManager.unbindResource(serviceKey);
    }
}

From source file:org.springextensions.db4o.Db4oTransactionManager.java

protected Object doSuspend(Object transaction) {
    Db4oTransactionObject txObject = (Db4oTransactionObject) transaction;
    txObject.setObjectContainerHolder(null);
    ObjectContainerHolder containerHolder = (ObjectContainerHolder) TransactionSynchronizationManager
            .unbindResource(getObjectContainer());
    return new SuspendedResourcesHolder(containerHolder);
}

From source file:org.springextensions.db4o.Db4oTransactionManager.java

protected void doResume(Object transaction, Object suspendedResources) {
    SuspendedResourcesHolder resourcesHolder = (SuspendedResourcesHolder) suspendedResources;
    if (TransactionSynchronizationManager.hasResource(getObjectContainer())) {
        TransactionSynchronizationManager.unbindResource(getObjectContainer());
    }/*from   w  w  w .j a  v  a  2  s.  com*/
    TransactionSynchronizationManager.bindResource(getObjectContainer(),
            resourcesHolder.getObjectContainerHolder());
}