`
Java_Fan
  • 浏览: 72929 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

spring集成jotm实现JTA分布式事务管理

 
阅读更多

下载jotm-2.0.11.MR5,将其lib下的jar包引入到project 的类路径下:


在applicationContext.xml中配置如下:

	<!-- jotm实体类 -->
	<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean" />
	
	<!-- orcle数据源 -->
	<bean id="oracleJta" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">  
		<property name="dataSource">
			<bean class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">
				<property name="transactionManager" ref="jotm"/>
                <property name="driverName" value="oracle.jdbc.driver.OracleDriver"/>
                <property name="url" value="jdbc:oracle:thin:@168.9.202.49:1521:test"/>
                <property name="user" value="orac"/>
                <property name="password" value="orac"/>
            </bean>
        </property>
        <property name="user" value="orac"/>
        <property name="password" value="orac"/>
	</bean>
	<!-- mysql数据源 -->
	<bean id="mysqlJta" class="org.enhydra.jdbc.pool.StandardXAPoolDataSource" destroy-method="shutdown">  
		<property name="dataSource">
			<bean class="org.enhydra.jdbc.standard.StandardXADataSource" destroy-method="shutdown">
				<property name="transactionManager" ref="jotm"/>
                <property name="driverName" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:MySQL://localhost:3309/test"/>
                <property name="user" value="root"/>
                <property name="password" value="mysql"/>
            </bean>
        </property>
        <property name="user" value="root"/>
        <property name="password" value="mysql"/>
	</bean>
	
	<!-- jta事务管理器 -->
	<bean id="jtaManager" class="org.springframework.transaction.jta.JtaTransactionManager">
		<property name="userTransaction" ref="jotm"/> <!-- 指定userTransaction属性引用jotm本地实例 -->
	</bean>
	
	<!-- JTA事务传播特性 -->
    <tx:advice id="txAdviceJta" transaction-manager="txManager">
        <tx:attributes>
         <tx:method name="Jta*"     isolation="DEFAULT" propagation="REQUIRED" rollback-for="Exception"/>
         <tx:method name="*" read-only="true"/> 
        </tx:attributes>
    </tx:advice>
	
	<aop:config>
        <aop:advisor pointcut="execution(* com.xxxxl.service.impl..*(..))"   advice-ref="txAdviceJta" />
    </aop:config>
	
	<bean id="testMysqlDao" class="com.xxxxl.TestMysqlDaoImpl" scope="prototype">
        <property name="dataSource" ref="mysqlJta"></property>
    </bean>
    <bean id="testOracleDao" class="com.xxxxl.testOracleDaoImpl" scope="prototype">
        <property name="dataSource" ref="oracleJta"></property>
    </bean>

这就将事务进行了配置管理,如果想实现更为灵活更为细小的事务管理那么则不用配置事务的传播特性(<tx:advice>标签中的配置)

和控制反转(<aop:config>标签中的部分),需要在代码中通过DataSourceTransactionManager事务管理器类进行事务管理。

分享到:
评论

相关推荐

    spring JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)

    NULL 博文链接:https://zhaoshijie.iteye.com/blog/1836707

    java开源包3

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包4

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

    JAVA上百实例源码以及开源项目源代码

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    java开源包1

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包11

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包2

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包6

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包5

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包10

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包8

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包7

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包9

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包101

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    Java资源包01

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

Global site tag (gtag.js) - Google Analytics