List of usage examples for org.springframework.transaction.support TransactionSynchronizationManager getResourceMap
public static Map<Object, Object> getResourceMap()
From source file:com._4dconcept.springframework.data.marklogic.datasource.DatabaseConnectorJtaTransactionTest.java
@After public void verifyTransactionSynchronizationManagerState() { assertTrue(TransactionSynchronizationManager.getResourceMap().isEmpty()); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); assertNull(TransactionSynchronizationManager.getCurrentTransactionName()); assertFalse(TransactionSynchronizationManager.isCurrentTransactionReadOnly()); assertNull(TransactionSynchronizationManager.getCurrentTransactionIsolationLevel()); assertFalse(TransactionSynchronizationManager.isActualTransactionActive()); }
From source file:com.wavemaker.runtime.data.spring.SpringDataServiceManager.java
@Override public void commit() { if (txLogger.isInfoEnabled()) { txLogger.info("commit"); }/*from w ww . j a va 2 s .com*/ ThreadContext.Context ctx = ThreadContext.getContext(this.metaData.getName()); if (ctx == null) { if (txLogger.isWarnEnabled()) { txLogger.warn("ignoring commit - no tx in progress"); if (txLogger.isDebugEnabled()) { logStackTrace(); } } return; } TransactionStatus txStatus = ctx.getTransactionStatus(); try { if (txStatus == null) { if (txLogger.isWarnEnabled()) { txLogger.warn("ignoring commit - no tx status"); if (txLogger.isDebugEnabled()) { logStackTrace(); } } } else { this.txMgr.commit(txStatus); } } finally { ctx.setTransactionStatus(null); ThreadContext.unsetContext(this.metaData.getName()); HashMap<String, ThreadContext.Context> contextHash = ThreadContext.getThreadLocalHash(); if (contextHash != null && contextHash.size() > 0) { if (!TransactionSynchronizationManager.isSynchronizationActive()) { TransactionSynchronizationManager.initSynchronization(); } } else { if (TransactionSynchronizationManager.isSynchronizationActive()) { TransactionSynchronizationManager.clear(); Map map = TransactionSynchronizationManager.getResourceMap(); for (Object entry : map.keySet()) { TransactionSynchronizationManager.unbindResource(entry); } } } } }
From source file:org.broadleafcommerce.common.cache.HydratedSetup.java
public static EntityManager retrieveBoundEntityManager() { Map<Object, Object> resources = TransactionSynchronizationManager.getResourceMap(); for (Map.Entry<Object, Object> entry : resources.entrySet()) { if (entry.getKey() instanceof EntityManagerFactory) { EntityManagerFactory emf = (EntityManagerFactory) entry.getKey(); //return the entityManager from the first found return ((EntityManagerHolder) entry.getValue()).getEntityManager(); }/*from ww w. ja v a 2s. c o m*/ } throw new RuntimeException( "Unable to restore skus from hydrated cache. Please make sure that the OpenEntityManagerInViewFilter is configured in web.xml for the blPU persistence unit."); }
From source file:org.broadleafcommerce.common.util.tenant.IdentityExecutionUtils.java
private static void activateSession() { Map<Object, Object> resourceMap = TransactionSynchronizationManager.getResourceMap(); for (Map.Entry<Object, Object> entry : resourceMap.entrySet()) { if (entry.getKey() instanceof EntityManagerFactory && entry.getValue() instanceof EntityManagerHolder) { ((HibernateEntityManager) ((EntityManagerHolder) entry.getValue()).getEntityManager()).getSession(); }/*from ww w. j a v a2s . c o m*/ } }
From source file:org.broadleafcommerce.common.util.tenant.IdentityExecutionUtils.java
private static TransactionContainer establishTransaction(PlatformTransactionManager transactionManager) { Map<Object, Object> usedResources = new HashMap<Object, Object>(); Map<Object, Object> resources = TransactionSynchronizationManager.getResourceMap(); for (Map.Entry<Object, Object> entry : resources.entrySet()) { if ((entry.getKey() instanceof EntityManagerFactory || entry.getKey() instanceof DataSource) && TransactionSynchronizationManager.hasResource(entry.getKey())) { usedResources.put(entry.getKey(), entry.getValue()); }//from w w w.j a v a 2 s. co m } for (Map.Entry<Object, Object> entry : usedResources.entrySet()) { TransactionSynchronizationManager.unbindResource(entry.getKey()); } TransactionStatus status; try { status = TransactionUtils.createTransaction(TransactionDefinition.PROPAGATION_REQUIRES_NEW, transactionManager, false); } catch (RuntimeException e) { throw e; } return new TransactionContainer(status, usedResources); }
From source file:org.grails.datastore.mapping.core.AbstractDatastore.java
/** * Static way to retrieve the session// w w w . ja va 2 s . c o m * @param datastoreClass The type of datastore * @return The session instance * @throws ConnectionNotFoundException If no session has been created */ public static Session retrieveSession(Class datastoreClass) throws ConnectionNotFoundException { final Map<Object, Object> resourceMap = TransactionSynchronizationManager.getResourceMap(); Session session = null; if (resourceMap != null && !resourceMap.isEmpty()) { for (Object key : resourceMap.keySet()) { if (datastoreClass.isInstance(key)) { SessionHolder sessionHolder = (SessionHolder) resourceMap.get(key); if (sessionHolder != null) { session = sessionHolder.getSession(); } } } } if (session == null) { throw new ConnectionNotFoundException( "No datastore session found. Call Datastore.connect(..) before calling Datastore.getCurrentSession()"); } return session; }
From source file:org.seedstack.spring.internal.SpringEntityManagerLink.java
@Override public EntityManager get() { Map<String, EntityManagerFactory> mapEntityManagerFactoryByUnit = new HashMap<String, EntityManagerFactory>(); for (Map.Entry<Object, Object> entry : TransactionSynchronizationManager.getResourceMap().entrySet()) { if (entry.getKey() instanceof EntityManagerFactory) { EntityManagerFactory emf = (EntityManagerFactory) entry.getKey(); mapEntityManagerFactoryByUnit.put(getUnitName(emf), emf); }/*from w w w.j a v a2s . co m*/ } return getEntityManager(mapEntityManagerFactoryByUnit); }