List of usage examples for org.springframework.transaction.interceptor TransactionInterceptor TransactionInterceptor
public TransactionInterceptor(PlatformTransactionManager ptm, TransactionAttributeSource tas)
From source file:corner.transaction.TransactionModule.java
/** * build spring transaction interceptor//from w w w .j av a 2s .co m * @param transactionManager transaction manager * @return transaction manager instance * @since 0.0.2 */ public static TransactionInterceptor buildTransactionInterceptor( PlatformTransactionManager transactionManager) { AnnotationTransactionAttributeSource attributeSource = new AnnotationTransactionAttributeSource(); return new TransactionInterceptor(transactionManager, attributeSource); }
From source file:org.synyx.hades.dao.orm.TransactionalDaoProxyPostProcessor.java
/** * Creates a new {@link TransactionalDaoProxyPostProcessor}. *///from www . j av a2s. com public TransactionalDaoProxyPostProcessor(ListableBeanFactory beanFactory, String transactionManagerName) { Assert.notNull(beanFactory); Assert.notNull(transactionManagerName); this.petInterceptor = new PersistenceExceptionTranslationInterceptor(); this.petInterceptor.setBeanFactory(beanFactory); this.petInterceptor.afterPropertiesSet(); this.transactionInterceptor = new TransactionInterceptor(null, new AnnotationTransactionAttributeSource()); this.transactionInterceptor.setTransactionManagerBeanName(transactionManagerName); this.transactionInterceptor.setBeanFactory(beanFactory); this.transactionInterceptor.afterPropertiesSet(); }
From source file:org.jdal.service.PersistentServiceFactory.java
/** * Creates a default transactional proxy for service with default transacction attributes * @param <T>/*from w ww . ja v a2s .co m*/ * @param service * @return a Tx Proxy for service with default tx attributes */ @SuppressWarnings("unchecked") public <T> PersistentManager<T, Serializable> makeTransactionalProxy( PersistentManager<T, Serializable> service) { ProxyFactory factory = new ProxyFactory(service); factory.setInterfaces(new Class[] { Dao.class }); TransactionInterceptor interceptor = new TransactionInterceptor(transactionManager, new MatchAlwaysTransactionAttributeSource()); factory.addAdvice(interceptor); factory.setTarget(service); return (PersistentManager<T, Serializable>) factory.getProxy(); }
From source file:docksidestage.projectfw.db.TransactionModule.java
protected TransactionInterceptor createTransactionInterceptor(PlatformTransactionManager transactionManager, AnnotationTransactionAttributeSource attributeSource) { return new TransactionInterceptor(transactionManager, attributeSource); }
From source file:org.domi.config.security.prepost.TransactionalRepositoryProxyPostProcessor.java
/** * Creates a new {@link TransactionalRepositoryProxyPostProcessor}. *//* w w w . ja va2s . c o m*/ public TransactionalRepositoryProxyPostProcessor(ListableBeanFactory beanFactory, String transactionManagerName) { Assert.notNull(beanFactory); Assert.notNull(transactionManagerName); this.petInterceptor = new PersistenceExceptionTranslationInterceptor(); this.petInterceptor.setBeanFactory(beanFactory); this.petInterceptor.afterPropertiesSet(); this.transactionInterceptor = new TransactionInterceptor(null, new CustomAnnotationTransactionAttributeSource()); this.transactionInterceptor.setTransactionManagerBeanName(transactionManagerName); this.transactionInterceptor.setBeanFactory(beanFactory); this.transactionInterceptor.afterPropertiesSet(); }
From source file:com.sinosoft.one.data.jpa.repository.support.OneTransactionalRepositoryProxyPostProcessor.java
/** * Creates a new {@link OneTransactionalRepositoryProxyPostProcessor}. *//*from ww w . j a va2 s . com*/ public OneTransactionalRepositoryProxyPostProcessor(ListableBeanFactory beanFactory, String transactionManagerName, SqlQueries sqlQueries) { Assert.notNull(beanFactory); Assert.notNull(transactionManagerName); this.petInterceptor = new PersistenceExceptionTranslationInterceptor(); this.petInterceptor.setBeanFactory(beanFactory); this.petInterceptor.afterPropertiesSet(); this.transactionInterceptor = new TransactionInterceptor(null, new OneCustomAnnotationTransactionAttributeSource(sqlQueries)); this.transactionInterceptor.setTransactionManagerBeanName(transactionManagerName); this.transactionInterceptor.setBeanFactory(beanFactory); this.transactionInterceptor.afterPropertiesSet(); }
From source file:com.google.code.guice.repository.configuration.JpaRepositoryModule.java
/** * Creates Spring application context based on found persistence units. Context will be initialized with multiple * persistence units support./*from ww w . jav a 2s . c o m*/ * * @param configurationManager configuration manager with persistence units configurations. * * @return initialized Spring context * * @see <a href="https://github.com/SpringSource/spring-data-jpa/blob/master/src/test/resources/multiple-entity-manager-integration-context.xml"/> */ protected ApplicationContext createApplicationContext( PersistenceUnitsConfigurationManager configurationManager) { GenericApplicationContext context = new GenericApplicationContext(); String abstractEMFBeanName = "abstractEntityManagerFactory"; context.registerBeanDefinition(abstractEMFBeanName, BeanDefinitionBuilder.genericBeanDefinition(LocalContainerEntityManagerFactoryBean.class) .setAbstract(true).getBeanDefinition()); Iterable<PersistenceUnitConfiguration> configurations = configurationManager.getConfigurations(); for (PersistenceUnitConfiguration configuration : configurations) { String persistenceUnitName = configuration.getPersistenceUnitName(); logger.info(String.format("Processing persistence unit: [%s]", persistenceUnitName)); Map props = configuration.getProperties(); String entityManagerFactoryName = "entityManagerFactory#" + persistenceUnitName; BeanDefinitionBuilder emfFactoryDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition() .setParentName(abstractEMFBeanName).addPropertyValue("persistenceUnitName", persistenceUnitName) .addPropertyValue("jpaProperties", props); // Additional EntityManagerFactory properties for Spring EMFBean initialization - s.a. jpaDialect, jpaVendorAdapter Map<String, Object> properties = getAdditionalEMFProperties(persistenceUnitName); if (properties != null) { for (String propertyName : properties.keySet()) { Object value = properties.get(propertyName); if (value != null) { logger.info( String.format("Found additional EMF property: [%s] -> [%s]", propertyName, value)); emfFactoryDefinitionBuilder.addPropertyValue(propertyName, value); } } } context.registerBeanDefinition(entityManagerFactoryName, emfFactoryDefinitionBuilder.getBeanDefinition()); // Naming is important - it's needed for later TransactionManager resolution based on @Transactional value with persistenceUnitName context.registerBeanDefinition(persistenceUnitName, BeanDefinitionBuilder.genericBeanDefinition(JpaTransactionManager.class) .addPropertyReference("entityManagerFactory", entityManagerFactoryName) .getBeanDefinition()); PlatformTransactionManager transactionManager = context.getBean(persistenceUnitName, PlatformTransactionManager.class); TransactionInterceptor transactionInterceptor = new TransactionInterceptor(transactionManager, createTransactionAttributeSource()); transactionInterceptor.setBeanFactory(context); // Wiring components EntityManagerFactory emf = context.getBean(entityManagerFactoryName, EntityManagerFactory.class); EntityManager entityManager = SharedEntityManagerCreator.createSharedEntityManager(emf, props); configuration.setEntityManager(entityManager); configuration.setEntityManagerFactory(emf); configuration.setTransactionManager(transactionManager); configuration.setTransactionManagerName(persistenceUnitName); configuration.setTransactionInterceptor(transactionInterceptor); // Default bindings for EMF & Transaction Manager - they needed for repositories with @Transactional without value if (configuration.isDefault()) { context.registerAlias(entityManagerFactoryName, "entityManagerFactory"); context.registerAlias(persistenceUnitName, "transactionManager"); } } return context; }