`

转载 spring+atomikos+JTA完整例子

    博客分类:
  • java
 
阅读更多
原文:http://www.blogjava.net/pdw2009/archive/2008/05/25/202725.html

applicationContext.xml配置

    <!--Atomikos  JTA 事务 begin-->  
    <bean id="dataSource1" class="com.atomikos.jdbc.SimpleDataSourceBean" init-method="init" destroy-method="close">  
        <property name="uniqueResourceName">  
            <value>mysql/main</value>  
        </property>  
        <property name="xaDataSourceClassName">  
            <!-- 使用Mysql XADataSource(mysql>=5.0, Connector/J>=5.0才可以支持XADatasource)-->  
            <value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value>  
        </property>  
        <property name="xaDataSourceProperties">  
            <value>URL=jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8;user=root;password=123456</value>  
        </property>  
        <property name="exclusiveConnectionMode">  
            <value>true</value>  
        </property>  
        <property name="connectionPoolSize">  
            <value>3</value>  
        </property>  
        <property name="validatingQuery">  
            <value>SELECT 1</value>  
        </property>  
    </bean>      
   
    <bean id="dataSource2" class="com.atomikos.jdbc.SimpleDataSourceBean" init-method="init" destroy-method="close">  
        <property name="uniqueResourceName">  
            <value>mysql/secondary</value>  
        </property>  
        <property name="xaDataSourceClassName">  
            <!-- 使用Mysql XADataSource(mysql>=5.0, Connector/J>=5.0才可以支持XADatasource)-->  
            <value>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</value>  
        </property>
        <property name="xaDataSourceProperties">  
            <value>URL=jdbc:mysql://localhost:3306/aotsf?useUnicode=true&amp;characterEncoding=utf-8;user=root;password=123456</value>  
        </property>
        <property name="exclusiveConnectionMode">  
            <value>true</value>  
        </property>
        <property name="connectionPoolSize">  
            <value>3</value>  
        </property>
        <property name="validatingQuery">
            <value>SELECT 1</value>  
        </property>  
    </bean>    
   
    <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close">  
        <property name="forceShutdown"><value>true</value></property>  
    </bean>
   
      
    <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp">  
        <property name="transactionTimeout" value="300"/>   
    </bean>
    <bean id="springTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">  
        <property name="transactionManager">
            <ref bean="atomikosTransactionManager"/>
        </property>
        <property name="userTransaction">
            <ref bean="atomikosUserTransaction"/>
        </property>
    </bean>
   
     <bean id="atomikosTransactionProxy"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
          abstract="true">
          <property name="transactionManager">
               <ref bean="springTransactionManager" />
          </property>
          <property name="transactionAttributes">
               <props>
                <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
               </props>
          </property>
     </bean>
   
   
    <bean id="jdbcBookDAO" class="dao.jdbc.BookDAO">
        <property name="dataSource">
            <ref bean="dataSource1"/>
        </property>
    </bean>
   
    <bean id="jdbcTestDAO" class="dao.jdbc.TestDAO">
        <property name="dataSource">
            <ref bean="dataSource2"/>
        </property>
    </bean>
   
    <bean id="atomikosJTAServiceDemo" parent="atomikosTransactionProxy">
        <property name="target">
            <bean class="service.AtomikosJTAServiceDemo">
                <property name="jdbcBookDAO">
                    <ref bean="jdbcBookDAO"/>
                </property>
                <property name="jdbcTestDAO">
                    <ref bean="jdbcTestDAO"/>
                </property>               
            </bean>
        </property>
    </bean>
   
   
    <!--Atomikos  JTA 事务 end  -->
分享到:
评论

相关推荐

    Spring+MyBatis+Atomikos实现JTA分布式事务

    本文将深入探讨如何使用Spring、MyBatis和Atomikos实现JTA分布式事务。 首先,让我们理解JTA的概念。Java Transaction API(JTA)是Java EE规范之一,用于处理分布式环境中的事务。它允许应用程序在不同的资源管理...

    spring + JTA + atomikos 实现分布式事务

    Atomikos 是一个开源的JTA实现,它为Spring提供了一个轻量级、高性能的分布式事务解决方案。本文将深入探讨如何使用Spring、JTA和Atomikos来实现分布式事务。 首先,了解JTA的基本概念。JTA定义了一套规范,允许在...

    spring+druid+AtomikosDataSource实现多数据源切换及分布式事务控制

    下面我们将详细探讨如何利用Spring、Druid和AtomikosDataSource来实现这些功能。 1. **Spring框架与数据源** Spring提供了对多种数据源的支持,包括JDBC DataSources和Transaction Managers。通过Spring的配置,...

    spring+atomikos+druid分布式事务

    使用spring + atomikos+druid配置的分布式事务demo,两种数据源配置方式都可以,使用junit测试没问题,案例中使用的mysql数据库是8.0.11版本,版本不同请自行修改pom.xml和jdbc.properties

    springboot+jta+atomikos

    本项目“springboot+jta+atomikos”旨在利用Spring Boot框架、Java Transaction API (JTA) 和 Atomikos 这一开源事务管理器来实现分布式事务的统一管理。下面将详细阐述这三个关键组件以及它们如何协同工作。 **...

    spring+jpa+atomikos多数据源

    "spring+jpa+atomikos多数据源"是一个重要的技术组合,用于构建能够同时连接并操作不同数据库的应用程序。下面将详细介绍这个主题涉及的知识点。 首先,Spring框架是Java开发中最广泛使用的轻量级框架,提供依赖...

    Spring+SpringMVC+MyBatis+Atomikos整合

    Atomikos是一个开源的事务管理器,支持JTA(Java Transaction API),可以处理跨多个数据库或服务的事务,确保数据的一致性和完整性。 在"Spring+SpringMVC+MyBatis+Atomikos整合"中,关键步骤包括: 1. 配置...

    spring+mybatis+Atomikos JTA事务配置说明

    NULL 博文链接:https://lizhao6210-126-com.iteye.com/blog/1958831

    Spring boot+Atomikos+JTA+Hibernate+mybatis+MySQL实现分布式事务+多数据源

    本案例主要探讨如何利用Spring Boot、Atomikos、JTA(Java Transaction API)、Hibernate以及MyBatis,结合MySQL数据库,实现一个跨数据源的分布式事务解决方案。 首先,Spring Boot是一个基于Spring框架的快速开发...

    Spring boot+Atomikos+JTA+Hibernate+MySQL实现分布式事务+多数据源(可运行)

    本项目使用Spring Boot、Atomikos、JTA(Java Transaction API)、Hibernate和MySQL来实现分布式事务处理和多数据源管理,以确保在多个数据库操作之间保持事务的ACID特性。 首先,Spring Boot作为微服务开发的主流...

    Spring Boot + Druid + Mybatis + Atomikos 配置多数据源 并支持分布式事务

    本教程将探讨如何利用Spring Boot、Druid、Mybatis以及Atomikos来配置多数据源并实现分布式事务。 首先,Spring Boot是Java生态系统中的一个流行框架,它简化了设置和配置过程,使得开发人员可以快速启动新项目。在...

    spring+atomikos+druid分布式事务Demo

    本示例"spring+atomikos+druid分布式事务Demo"聚焦于如何在Spring框架中利用Atomikos和Druid来处理分布式事务。接下来,我们将深入探讨这三个组件以及它们在实现分布式事务中的作用。 Spring是一个广泛使用的Java...

    SpringBoot+mybatisPlus+atomikos+druid.zip

    Spring Boot:mybatis-plus + atomikos + druid 实现不同实例数据库的多数据源配置和分布式事务管理(demo项目),想到工作上可能会用到多数据源,但是自己在这方面并不是很熟悉,于是在网上查阅了很多文章,结果...

    spring+mybatis+atomikos配置文件及相关包

    5. 如何在Spring中配置Atomikos以支持JTA事务 6. 配置文件的编写,包括Spring和Atomikos的配置 7. 在多数据库或微服务架构中的事务管理策略 这些知识点对于开发分布式系统,尤其是需要处理复杂事务场景的项目来说至...

    使用Spring+atomikos实现分布式事务

    Spring框架提供了强大的支持来处理分布式事务,而Atomikos是一个开源的事务管理器,专门用于处理JTA(Java Transaction API)事务,尤其适用于微服务和分布式环境。本教程将探讨如何结合Spring和Atomikos来实现...

    Spring3.1+Hibernate4.1+Atomikos3.9+MySql5.1+Tomcat5/6/7实现JTA事务管理

    标题中的“Spring3.1+Hibernate4.1+Atomikos3.9+MySql5.1+Tomcat5/6/7实现JTA事务管理”揭示了一个集成开发环境,用于构建分布式、事务一致性的Java应用程序。这个组合利用了Spring框架的依赖注入和AOP(面向切面...

    Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务

    本文将详细讲解如何利用Spring Boot、Atomikos、JPA(Java Persistence API)以及MySQL来实现JTA(Java Transaction API)分布式事务。 首先,Spring Boot是一个轻量级的框架,它简化了基于Spring的应用程序开发...

    分布式事务JTA之实践:Spring+ATOMIKOS

    Atomikos是一个开源的JTA实现,它为Spring提供了完整的分布式事务支持。Atomikos包含了事务协调器(Transaction Manager)和资源管理器(如XAResource),可以处理跨数据库、JMS和其他JTA兼容资源的事务。Atomikos的...

    SpringBoot+Atomikos+动态多数据源+事务+2种切换数据源的方式

    5. **异常处理与回滚**:Atomikos提供了一套完整的异常处理机制,当事务中发生错误时,会根据配置进行回滚。在服务层,我们可以抛出自定义的异常,这些异常会被事务管理器捕获,触发相应的回滚操作。 总之,...

    spring+hibernate+atomikos多数据源

    Spring、Hibernate和Atomikos的组合就是一种强大的解决方案,它们可以协同工作以支持多数据源的分布式事务处理。接下来,我们将深入探讨这些技术以及如何配置它们来实现多数据源。 1. **Spring**: Spring是一个...

Global site tag (gtag.js) - Google Analytics