`
huqilong
  • 浏览: 10092 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring+atomikos 跨库事务配置

阅读更多

<bean id="dataSourceA" class="com.atomikos.jdbc.AtomikosDataSourceBean"  init-method="init" destroy-method="close"> 
        <property name="uniqueResourceName" value="mysql/merchant" /> 
        <property name="xaDataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" /> 
        <property name="xaProperties">
            <props>
                <prop key="user">root</prop>
                <prop key="password">wait4you</prop>
                <prop key="url">jdbc:mysql://10.0.10.24:3306/merchant?useUnicode=true&amp;characterEncoding=utf-8</prop>
            </props>

        </property> 
        <property name="poolSize" value="10"/>
        <property name="testQuery" value="SELECT 1"/>
    </bean>
  
   
    <bean id="dataSourceB" class="com.atomikos.jdbc.AtomikosDataSourceBean"  init-method="init" destroy-method="close"> 
        <property name="uniqueResourceName" value="mysql/orders" /> 
        <property name="xaDataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" /> 
        <property name="xaProperties">
            <props>
                <!--prop key="user">root</prop>
                <prop key="password">wait4you</prop-->
                <prop key="user">specl</prop>
                <prop key="password">uBpEaNEI5</prop>
                <prop key="url">jdbc:mysql://10.0.10.34:3306/orders?useUnicode=true&amp;characterEncoding=utf-8</prop>
            </props>

        </property> 
        <property name="poolSize" value="10"/>
        <property name="testQuery" value="SELECT 1"/>
    </bean>

 

 

<bean id="dataSource" class="com.specl.api.sharding.DynamicDataSource">   
        <property name="targetDataSources">   
            <map key-type="java.lang.String">
                <entry key="order_r_0" value-ref="dataSourceB" /> 
                <entry key="order_rw_0" value-ref="dataSourceB" />
                <entry key="merchant_r_0" value-ref="dataSourceA" /> 
                <entry key="merchant_rw_0" value-ref="dataSourceA" />
            </map>   
        </property>   
        <property name="defaultTargetDataSource" ref="dataSourceA"/>   
    </bean>

    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
        <property name="configLocation" value="classpath:sqlmap-config.xml" />
        <property name="dataSource" ref="dataSource" />
    </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="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="transactionManager">
            <ref bean="atomikosTransactionManager" /> 
        </property> 
        <property name="userTransaction"> 
            <ref bean="atomikosUserTransaction" /> 
        </property>
        <qualifier value="jtaTx"></qualifier>
    </bean>
   
    <bean id="singleTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSourceA"/>
        <qualifier value="singleTx"></qualifier>
    </bean>   

    <bean id="boardDao" class="com.specl.api.dao.release.BoardDaoRelease">
        <property name="sqlMapClient" ref="sqlMapClient"></property>
    </bean>

0
1
分享到:
评论

相关推荐

    spring+atomikos+druid分布式事务

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

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

    AtomikosDataSource是基于Atomikos实现的XAPool,可以协调跨多个数据源的ACID(原子性、一致性、隔离性和持久性)事务。在Spring中集成Atomikos,可以实现全局的分布式事务管理,确保在分布式环境下的数据一致性。 ...

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

    2. `applicationContext.xml`或对应的Java配置类:配置Spring的事务管理器和数据源,以及Atomikos相关的bean。 3. MyBatis的配置:定义SqlSessionFactory,并与Spring集成。 4. 示例代码:展示了如何在方法上使用`@...

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

    2. 在Spring配置文件中,配置JtaTransactionManager,指定Atomikos的相关属性,如事务日志的位置等。 3. 对于需要参与事务的数据库或者其他资源,需要设置它们为XAResource,并在Atomikos中注册。 4. 使用Spring的@...

    spring+atomikos+druid分布式事务Demo

    在Spring中,我们可以通过配置Atomikos事务管理器,使得Spring可以在跨数据库操作时启动和管理全局事务。 Druid是一个强大的数据库连接池,它不仅提供了高效的连接管理和性能监控,还支持分布式事务。在Spring和...

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

    在分布式系统中,确保事务的...配置包括设置Atomikos事务管理器、数据源以及事务属性,然后在业务逻辑中利用Spring的`@Transactional`注解来管理事务边界。这使得开发者能够在复杂分布式环境中实现高一致性的业务逻辑。

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

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

    Spring+SpringMVC+MyBatis+Atomikos整合

    2. 集成Atomikos:在Spring配置中引入Atomikos的事务管理器,配置全局事务超时、事务日志路径等参数,确保Atomikos可以在多数据源环境下正确处理分布式事务。 3. 配置MyBatis:将MyBatis的SqlSessionFactory与...

    spring+jpa+atomikos多数据源

    在实际项目中,"jpatest"可能是一个包含测试代码的目录或者模块,用于验证多数据源配置和Atomikos事务管理是否正常工作。测试通常会涉及到插入、查询、更新和删除操作,以确保在不同数据源之间的事务处理正确无误。 ...

    spring+mybatis+atomikos配置文件及相关包(最新版)

    3. 配置Spring:在Spring的配置文件中启用事务管理,并配置Atomikos事务协调器,指定Atomikos的配置文件位置。 4. 配置数据源:为每个参与分布式事务的数据源创建AtomikosManagedDataSource实例,并在Spring配置中...

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

    在Spring中配置Atomikos,你需要在Spring的配置文件中引入Atomikos的事务管理器,并设置相关的事务属性。同时,你需要在MyBatis的配置中启用JTA事务管理,确保Spring和Atomikos能够协同工作。这样,当你的应用执行跨...

    SpringBoot+mybatisPlus+atomikos+druid.zip

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

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

    3. **配置Atomikos事务管理器** - 配置Atomikos的系统属性,如`com.atomikos.icatch.log_base_dir`指定日志目录,`com.atomikos.icatch.max_timeout`设置最大超时时间等。 - 在Spring配置文件中,定义一个...

    springboot+jta+atomikos

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

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

    在Spring Boot的配置文件(application.properties或yaml)中,设置Atomikos的属性,如事务超时时间、回滚策略等。同时,需要创建一个`UserTransaction`的@Bean,这样Spring就能识别并使用Atomikos进行事务管理。 3...

    基于Spring4.1.7+atomikos+mybaits 实现两阶段的分布式事务处理

    3. 集成Spring:在Spring配置文件中,指定Atomikos事务管理器,并启用JTA支持。 4. 配置MyBatis:设置SqlSessionFactory,并确保其使用Atomikos提供的数据源。 5. 开启事务支持:在需要执行分布式事务的Service类中...

    spring4+atomikos实现分布式事务

    在这个案例中,我们将深入探讨如何使用Spring 4与Atomikos来实现跨数据库的分布式事务管理。 Atomikos是一款开源的事务处理监控器(Transaction Processing Monitor,TPM),它支持JTA(Java Transaction API)标准...

    spring+mybatis+atomikos配置所需包跟配置文件

    综上所述,Spring、MyBatis和Atomikos的集成主要涉及JTA标准的运用、Atomikos的配置以及Spring的事务管理。通过这种方式,可以实现在分布式环境下的事务一致性,确保多数据源操作的正确性。在实际开发中,根据具体的...

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

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

    spring+hibernate+atomikos多数据源

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

Global site tag (gtag.js) - Google Analytics