转载 spring+atomikos+JTA完整例子

复制代码
原文: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  -->
复制代码

 

posted @   letmedown  阅读(237)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示