Search in sources :

Example 51 with PlatformTransactionManager

use of org.springframework.transaction.PlatformTransactionManager in project spring-data-commons by spring-projects.

the class ChainedTransactionManagerTests method shouldThrowExceptionOnFailingRollback.

@Test(expected = UnexpectedRollbackException.class)
public void shouldThrowExceptionOnFailingRollback() throws Exception {
    PlatformTransactionManager first = createFailingTransactionManager("first");
    setupTransactionManagers(first);
    createAndRollbackTransaction();
}
Also used : PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) TestPlatformTransactionManager(org.springframework.data.transaction.ChainedTransactionManagerTests.TestPlatformTransactionManager) Test(org.junit.Test)

Example 52 with PlatformTransactionManager

use of org.springframework.transaction.PlatformTransactionManager in project spring-session by spring-projects.

the class IndexDocTests method newJdbcOperationsSessionRepository.

@Test
@SuppressWarnings("unused")
public void newJdbcOperationsSessionRepository() {
    // tag::new-jdbcoperationssessionrepository[]
    JdbcTemplate jdbcTemplate = new JdbcTemplate();
    // ... configure JdbcTemplate ...
    PlatformTransactionManager transactionManager = new DataSourceTransactionManager();
    // ... configure transactionManager ...
    SessionRepository<? extends Session> repository = new JdbcOperationsSessionRepository(jdbcTemplate, transactionManager);
// end::new-jdbcoperationssessionrepository[]
}
Also used : JdbcOperationsSessionRepository(org.springframework.session.jdbc.JdbcOperationsSessionRepository) JdbcTemplate(org.springframework.jdbc.core.JdbcTemplate) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) DataSourceTransactionManager(org.springframework.jdbc.datasource.DataSourceTransactionManager) Test(org.junit.Test)

Example 53 with PlatformTransactionManager

use of org.springframework.transaction.PlatformTransactionManager in project syncope by apache.

the class DomainProcessEngineFactoryBean method getObject.

@Override
public DomainProcessEngine getObject() throws Exception {
    if (engine == null) {
        Map<String, ProcessEngine> engines = new HashMap<>();
        ctx.getBeansOfType(DataSource.class).entrySet().stream().filter(entry -> (!entry.getKey().startsWith("local"))).forEachOrdered(entry -> {
            String domain = StringUtils.substringBefore(entry.getKey(), DataSource.class.getSimpleName());
            DataSource dataSource = entry.getValue();
            PlatformTransactionManager transactionManager = ctx.getBean(domain + "TransactionManager", PlatformTransactionManager.class);
            Object entityManagerFactory = ctx.getBean(domain + "EntityManagerFactory");
            SpringProcessEngineConfiguration conf = ctx.getBean(SpringProcessEngineConfiguration.class);
            conf.setDataSource(dataSource);
            conf.setTransactionManager(transactionManager);
            conf.setTransactionsExternallyManaged(true);
            conf.setJpaEntityManagerFactory(entityManagerFactory);
            if (conf.getBeans() == null) {
                conf.setBeans(new SpringBeanFactoryProxyMap(ctx));
            }
            if (conf.getExpressionManager() == null) {
                conf.setExpressionManager(new SpringExpressionManager(ctx, conf.getBeans()));
            }
            if (EngineServiceUtil.getIdmEngineConfiguration(conf) == null) {
                conf.addEngineConfiguration(EngineConfigurationConstants.KEY_IDM_ENGINE_CONFIG, ctx.getBean(SpringIdmEngineConfiguration.class));
            }
            engines.put(domain, conf.buildProcessEngine());
        });
        engine = new DomainProcessEngine(engines);
    }
    return engine;
}
Also used : EngineServiceUtil(org.flowable.engine.impl.util.EngineServiceUtil) EngineConfigurationConstants(org.flowable.engine.common.impl.interceptor.EngineConfigurationConstants) HashMap(java.util.HashMap) BeansException(org.springframework.beans.BeansException) StringUtils(org.apache.commons.lang3.StringUtils) ProcessEngine(org.flowable.engine.ProcessEngine) ApplicationContext(org.springframework.context.ApplicationContext) SpringIdmEngineConfiguration(org.flowable.idm.spring.SpringIdmEngineConfiguration) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) SpringBeanFactoryProxyMap(org.flowable.engine.common.impl.cfg.SpringBeanFactoryProxyMap) FactoryBean(org.springframework.beans.factory.FactoryBean) SpringExpressionManager(org.flowable.spring.SpringExpressionManager) Map(java.util.Map) DisposableBean(org.springframework.beans.factory.DisposableBean) DataSource(javax.sql.DataSource) SpringProcessEngineConfiguration(org.flowable.spring.SpringProcessEngineConfiguration) ApplicationContextAware(org.springframework.context.ApplicationContextAware) HashMap(java.util.HashMap) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) DataSource(javax.sql.DataSource) SpringIdmEngineConfiguration(org.flowable.idm.spring.SpringIdmEngineConfiguration) SpringBeanFactoryProxyMap(org.flowable.engine.common.impl.cfg.SpringBeanFactoryProxyMap) SpringProcessEngineConfiguration(org.flowable.spring.SpringProcessEngineConfiguration) SpringExpressionManager(org.flowable.spring.SpringExpressionManager) ProcessEngine(org.flowable.engine.ProcessEngine)

Example 54 with PlatformTransactionManager

use of org.springframework.transaction.PlatformTransactionManager in project BroadleafCommerce by BroadleafCommerce.

the class SequenceGeneratorCorruptionDetection method onApplicationEvent.

@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
    if (detectSequenceGeneratorInconsistencies) {
        for (Map<String, Map<String, Object>> targetModeMap : targetModeMaps) {
            for (final String targetMode : targetModeMap.keySet()) {
                final Map<String, Object> managerMap = targetModeMap.get(targetMode);
                PlatformTransactionManager txManager = persistenceService.getTransactionManager(managerMap);
                transUtil.runTransactionalOperation(new StreamCapableTransactionalOperationAdapter() {

                    @Override
                    public void execute() throws Throwable {
                        EntityManager em = persistenceService.getEntityManager(managerMap);
                        Session hibernateSession = em.unwrap(Session.class);
                        patchSequenceGeneratorInconsistencies(em, hibernateSession);
                    }
                }, RuntimeException.class, txManager);
            }
        }
    }
}
Also used : EntityManager(javax.persistence.EntityManager) StreamCapableTransactionalOperationAdapter(org.broadleafcommerce.common.util.StreamCapableTransactionalOperationAdapter) Map(java.util.Map) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) Session(org.hibernate.Session)

Example 55 with PlatformTransactionManager

use of org.springframework.transaction.PlatformTransactionManager in project BroadleafCommerce by BroadleafCommerce.

the class PersistenceServiceImpl method populateCaches.

protected void populateCaches(String targetMode, Map<String, Object> managerMap) {
    final EntityManager em = getEntityManager(managerMap);
    final PlatformTransactionManager txManager = getTransactionManager(managerMap);
    final EJB3ConfigurationDao ejb3ConfigurationDao = getEJB3ConfigurationDao(managerMap);
    SessionFactory sessionFactory = em.unwrap(Session.class).getSessionFactory();
    for (Object item : sessionFactory.getAllClassMetadata().values()) {
        ClassMetadata metadata = (ClassMetadata) item;
        Class<?> mappedClass = metadata.getMappedClass();
        String managerCacheKey = buildManagerCacheKey(targetMode, mappedClass);
        ENTITY_MANAGER_CACHE.put(managerCacheKey, em);
        TRANSACTION_MANAGER_CACHE.put(managerCacheKey, txManager);
        String ejb3ConfigDaoCacheKey = buildEJB3ConfigDaoCacheKey(mappedClass);
        if (!EJB3_CONFIG_DAO_CACHE.containsKey(ejb3ConfigDaoCacheKey)) {
            EJB3_CONFIG_DAO_CACHE.put(ejb3ConfigDaoCacheKey, ejb3ConfigurationDao);
        }
    }
}
Also used : SessionFactory(org.hibernate.SessionFactory) ClassMetadata(org.hibernate.metadata.ClassMetadata) EntityManager(javax.persistence.EntityManager) EJB3ConfigurationDao(org.broadleafcommerce.common.util.dao.EJB3ConfigurationDao) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) Session(org.hibernate.Session)

Aggregations

PlatformTransactionManager (org.springframework.transaction.PlatformTransactionManager)74 Test (org.junit.jupiter.api.Test)24 TransactionStatus (org.springframework.transaction.TransactionStatus)15 Test (org.junit.Test)14 ITestBean (org.springframework.beans.testfixture.beans.ITestBean)10 TestBean (org.springframework.beans.testfixture.beans.TestBean)10 TransactionTemplate (org.springframework.transaction.support.TransactionTemplate)9 BeanFactory (org.springframework.beans.factory.BeanFactory)8 Method (java.lang.reflect.Method)7 CannotCreateTransactionException (org.springframework.transaction.CannotCreateTransactionException)7 TransactionException (org.springframework.transaction.TransactionException)7 UnexpectedRollbackException (org.springframework.transaction.UnexpectedRollbackException)7 StreamCapableTransactionalOperationAdapter (org.broadleafcommerce.common.util.StreamCapableTransactionalOperationAdapter)6 HeuristicCompletionException (org.springframework.transaction.HeuristicCompletionException)6 HashMap (java.util.HashMap)5 Map (java.util.Map)5 DataSource (javax.sql.DataSource)5 ServiceException (org.broadleafcommerce.common.exception.ServiceException)5 PersistenceResponse (org.broadleafcommerce.openadmin.server.service.persistence.PersistenceResponse)5 IpInterfaceDao (org.opennms.netmgt.dao.api.IpInterfaceDao)5