spring配置添加多个事务(转)

大多数项目只需要一个事务管理器。然而,有些项目为了提高效率、或者有多个完全不同又不相干的数据源,最好用多个事务管理器。机智的Spring的Transactional管理已经考虑到了这一点,首先分别定义多个transactional manager,并为qualifier属性指定不同的值;然后在需要使用@Transactional注解的时候指定TransactionManager的qualifier属性值或者直接使用bean名称。配置和代码使用的例子:

[html] view plain copy

  1. <tx:annotation-driven/>
  2. <bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  3. <property name="dataSource" ref="datasource1"></property>
  4. <qualifier value="datasource1Tx"/>
  5. </bean>
  6. <bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  7. <property name="dataSource" ref="datasource2"></property>
  8. <qualifier value="datasource2Tx"/>
  9. </bean>

[java] view plain copy

  1. public class TransactionalService {
  2. @Transactional("datasource1Tx")
  3. public void setSomethingInDatasource1() { ... }
  4. @Transactional("datasource2Tx")
  5. public void doSomethingInDatasource2() { ... }
  6. }

或者,直接使用transactin manager 的bean名字:

@Transactional("transactionManager1")

如果是使用@Transactional(),相当于使用缺省的transaction mananger名字,即:@Transactional("transactionManager")

转自:http://blog.csdn.net/clementad/article/details/47275227

时间: 2024-11-07 10:01:43

spring配置添加多个事务(转)的相关文章

[转]@Transactional spring 配置事务 注意事项

@Transactional spring 配置事务 注意事项 [@[email protected]] @Transactional spring 配置事务 注意事项 1. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和接口方法.类定义和类的 public 方法上. 2. @Transactional 注解只能应用到 public 可见度的方法上. 如果你在 protected.private 或者 package-visib

spring配置事务

一.配置JDBC事务处理机制 <!-- 配置Hibernate事务处理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory">&l

@Transactional spring 配置事务 注意事项

http://epine.itpub.net/post/8159/526281 @Transactional spring 配置事务 注意事项 1. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口定义和接口方法.类定义和类的 public 方法上. 2. @Transactional 注解只能应用到 public 可见度的方法上. 如果你在 protected.private 或者 package-visible 的方法上使用 @Tr

Spring配置事务 http://www.cnblogs.com/leiOOlei/p/3725911.html

http://www.cnblogs.com/leiOOlei/p/3725911.html JNDI方式配置数据源: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu

怎么使用Spring配置事务 ?

Spring同时支持编程式事务策略和声明式事务策略,大部分时候都采用声明式事务策略. 声明式事务管理的配置方式,通常有以下4种: (1) 使用TransactionProxyFactoryBean为目标Bean生成事务代理的配置.此方式是最传统.配置文件最臃肿.最难以阅读的方式. (2) 采用Bean继承的事务代理配置方式,比较简洁,但依然是增量式配置. (3) 采用BeanNameAutoProxyCreator,根据Bean Name自动生成事务代理的方式.这是直接利用Spring的AOP框

spring 配置事务管理器

在Spring中数据库事务是通过PlatformTransactionManager进行管理的,jdbcTemplate是不能支持事务的,而能够支持事务的是org.springframework.transaction.support.TransactionTemplate模板,它是Spring所提供的事务管理器的模板 •事务的创建.提交和回滚是通过PlatformTransactionManager接口来完成的. •当事务产生异常时会回滚事务,在默认的实现中所有的异常都会回滚.我们可以通过配置

SSM框架中使用Spring的@Transactional注解进行事务管理

一 介绍 在企业级应用中,保护数据的完整性是非常重要的一件事.因此不管应用的性能是多么的高.界面是多么的好看,如果在转账的过程中出现了意外导致用户的账号金额发生错误,那么这样的应用程序也是不可接受的 数据库的事务管理可以有效地保护数据的完整性(PS:关于数据库的事务管理基础可以参考我以前写过的这篇文章:http://www.zifangsky.cn/385.html),但是原生态的事务操作需要写不少的代码,无疑是非常麻烦的.在使用了Spring框架的应用中,我们可以使用@Transactiona

spring + mybatis + 多数据源整合事务

1.核心思想,spring提供了一个DataSource的子类,该类支持多个数据源 org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource 该类的源码如下: org.springframework.jdbc.datasource.lookup; java.sql.Connection; java.sql.SQLException; java.util.HashMap; java.util.Iterator; jav

Spring配置数据源的常用方式

Spring配置数据源的常用方式 在应用程序中配置数据源 (1).在classpath中创建连接参数的配置文件,如db-config.properties,内容如下: driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/zzp username=root password=admin (2).在Spring的配置文件中引入参数配置文件,代码如下: <!-- 配置spring资源文件 --> <bean id=