spring多数据源配置事务回滚
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 在spring中使用annotation来注册bean-->
<context:component-scan base-package="com" />
<bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close">
<property name="uniqueResourceName" value="dataSource"/>
<property name="xaDataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/>
<property name="xaProperties">
<props>
<prop key="url">jdbc:mysql://localhost:3306/db2</prop>
<prop key="user">root</prop>
<prop key="password">root</prop>
</props>
</property>
<property name="minPoolSize" value="5"/>
<property name="maxPoolSize" value="60"/>
<property name="borrowConnectionTimeout" value="180"/>
<property name="testQuery" value="select 1 from dual"/>
<property name="maintenanceInterval" value="30"/>
</bean>
<!-- 事务管理 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
<bean id="transactionTravelManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataTravelSource"/>
</property>
</bean>
<bean id="dataTravelSource" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close">
<property name="uniqueResourceName" value="dataTravelSource"/>
<property name="xaDataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/>
<property name="xaProperties">
<props>
<prop key="url">jdbc:mysql://localhost:3306/db1</prop>
<prop key="user">root</prop>
<prop key="password">root</prop>
</props>
</property>
<property name="minPoolSize" value="5"/>
<property name="maxPoolSize" value="60"/>
<property name="borrowConnectionTimeout" value="180"/>
<property name="testQuery" value="select 1 from dual"/>
<property name="maintenanceInterval" value="30"/>
</bean>
<!-- 执行强制执行事务回滚 -->
<bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close">
<property name="forceShutdown" value="true" />
</bean>
<!-- 事务执行的超时时间 -->
<bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">
<property name="transactionTimeout" value="300" />
</bean>
<!-- JTA事务管理器 -->
<bean id="springJTATransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager">
<ref bean="atomikosTransactionManager"/>
</property>
<property name="userTransaction">
<ref bean="atomikosUserTransaction"/>
</property>
<property name="allowCustomIsolationLevels" value="true" />
<!-- 自定义事务名字 使用的时候加上此名字-->
<qualifier value="jtaTransaction"/>
</bean>
</beans>
注意使用需要使用自定义的启用jta事务
猜你喜欢
- spring JTA多数据源事务管理详细教程
- Spring整合Mybatis实现动态数据源切换教程配置
- spring cloud集成swagger2和配置数据源
- spring data jpa多数据源配置demo
- spring boot + mybatis(通用mapper) druid多数据源切换配置
- spring boot整合mybatis连接查询两个mysql数据源的配置实例
- springboot+druid+多数据源配置
- Spring Boot学习(七)之Web应用使用jdbctemplate多数据源配置博客源码
- Spring Boot学习(七)之Web应用使用Spring-data-jpa多数据源配置 博客源码
- spring boot项目搭建多数据源,实现主从数据库读写分离的功能
- spring mvc开发实现图片动态裁剪上传,并配置多数据源示例
- spring 各种demo实例
- spring 各种demo实例
- [工作必备]spring定时器简单的demo
- Java Spring定时器Demo, 可自动跳过节假日
- Spring两种常用的事务管理范例AspectJ和基于注解方式
- 证 Spring生命周期默认初始化和销毁方法通过xml配置实现
- 证 spring通过@Async注解实现异步执行Service方法并且通过Java Future对象得到执行结果
- spring入门实例demo
- spring实例入门教程
- spring整合rmi代码实例
- 原证精 spring如何注入List,Set,Map对象
- Spring Hibernate Spring Data MongoDB Akka Titles Bootstrap JQuery Maven 大全
- 证 spring实现忽略禁用@Required注解的实例