1、配置事务注解驱动、每个数据源对应的事务管理器,并定义“限定符”
1<tx:annotation-driven/> 2 3<bean id="transactionManager1" class="org.springframework.jdbc.DataSourceTransactionManager"> 4... 5<qualifier value="order"/> 6</bean> 7 8<bean id="transactionManager2" class="org.springframework.jdbc.DataSourceTransactionManager"> 9... 10<qualifier value="account"/> 11</bean>
2、在需要事务的地方,指定“限定符”
1public class TransactionalService { 2 3@Transactional("order") 4public void setSomething(String name) { ... } 5 6@Transactional("account") 7public void doSomething() { ... } 8}
3、如果不指定“限定符”,将默认使用“transationManager”命名对应的事务管理器
1The default <tx:annotation-driven> target bean name transactionManager will still be used if 2no specifically qualified PlatformTransactionManager bean is found