zoukankan      html  css  js  c++  java
  • 关于atomikos分布式事务的经验 oracle 版本

    pom配置:

    <properties>

    <atomikos.version>3.9.3</atomikos.version>

    <spring.version>4.2.5.RELEASE</spring.version>

    </properties>

    <dependency>
                <groupId>com.atomikos</groupId>
                <artifactId>transactions-jdbc</artifactId>
                <version>${atomikos.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atomikos</groupId>
                <artifactId>transactions-jta</artifactId>
                <version>${atomikos.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atomikos</groupId>
                <artifactId>transactions</artifactId>
                <version>${atomikos.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atomikos</groupId>
                <artifactId>transactions-api</artifactId>
                <version>${atomikos.version}</version>
            </dependency>
            <dependency>
                <groupId>com.atomikos</groupId>
                <artifactId>atomikos-util</artifactId>
                <version>${atomikos.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>jta</artifactId>
                <version>1.1</version>
            </dependency>

    <!-- JDBC Driver。Oracle JDBC驱动必须从官网下载,然后使用 mvn install:install-file -DgroupId=com.oracle
                -DartifactId=ojdbc6 -Dversion=11.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc6.jar
                -DgeneratePom=true命令安装到本地Maven仓库 -->
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0.3.0</version>

               <!-- <scope>provided</scope> 这个要去掉,不然运行不起来-->

            </dependency>

    spring配置:



            <!-- oracle数据源 -->
       <bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean"
            init-method="init" destroy-method="close">
            <property name="uniqueResourceName">
                <value>oracle_dataSourceaaaabbb</value>
            </property>
            <property name="xaDataSourceClassName">
                <value>oracle.jdbc.xa.client.OracleXADataSource</value>
            </property>
            <property name="xaProperties">
                <props>
                   <prop key="URL">jdbc:oracle:thin:@127.0.0.1:1521:orcl</prop>  
                     <prop key="user">nec</prop>  
                     <prop key="password">1111</prop>
                </props>
            </property>
            <property name="minPoolSize" value="10" />  
                <property name="maxPoolSize" value="100" />  
                <property name="borrowConnectionTimeout" value="300" />  
        </bean>
            <bean id="basicDataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean"
            init-method="init" destroy-method="close">
            <property name="uniqueResourceName">
                <value>oracle_dataSource_basic</value>
            </property>
            <property name="xaDataSourceClassName">
                <value>oracle.jdbc.xa.client.OracleXADataSource</value>
            </property>
            <property name="xaProperties">
                <props>
                    <prop key="URL">jdbc:oracle:thin:@127.0.0.1:1521:orcl</prop>  
                     <prop key="user">basic</prop>  
                     <prop key="password">1111</prop>
                </props>
            </property>
            <property name="minPoolSize" value="10" />  
                <property name="maxPoolSize" value="100" />  
                <property name="borrowConnectionTimeout" value="300" />  
        </bean>

            
            <bean id="userTransactionService" class="com.atomikos.icatch.config.UserTransactionServiceImp"
                init-method="init" destroy-method="shutdownForce">
            <constructor-arg>
                <props>
                    <prop key="com.atomikos.icatch.service">com.atomikos.icatch.standalone.UserTransactionServiceFactory</prop>
                </props>
            </constructor-arg>
            </bean>
        
            <bean id="atomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager"
            init-method="init" destroy-method="close" depends-on="userTransactionService">
                <property name="forceShutdown" value="false" />
            </bean>
        
            <bean id="atomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp" depends-on="userTransactionService">
                <property name="transactionTimeout" value="300" />
            </bean>
             
             <bean id="xaManager" class="org.springframework.transaction.jta.JtaTransactionManager"  depends-on="userTransactionService">
               <property name="transactionManager" ref="atomikosTransactionManager"/>  
               <property name="userTransaction" ref="atomikosUserTransaction"/>  
               </bean>
        <tx:annotation-driven transaction-manager="xaManager" /> <!-- 事务注解-->

    以下内容为jboss jndi配置失败,原因不明,郁闷啊,如果有高手路过,请不吝赐教

    jboss 配置:

    <xa-datasource jta="true" jndi-name="java:jboss/datasources/NecDS" pool-name="NecDS" enabled="true"  use-ccm="false">
                        <xa-datasource-property name="URL">
                            jdbc:oracle:thin:@127.0.0.1:1521:orcl
                        </xa-datasource-property>
                        <xa-datasource-property name="User">
                            nec
                        </xa-datasource-property>
                        <xa-datasource-property name="Password">
                            1111
                        </xa-datasource-property>
                        <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
                        <driver>oracle</driver>
                        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                        <xa-pool>
                            <min-pool-size>20</min-pool-size>
                            <max-pool-size>100</max-pool-size>
                        </xa-pool>
                        <security>
                            <user-name>nec</user-name>
                            <password>vnetoo</password>
                        </security>
                        <validation>
                            <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
                            <validate-on-match>false</validate-on-match>
                            <background-validation>false</background-validation>
                        </validation>
                        <statement>
                            <prepared-statement-cache-size>32</prepared-statement-cache-size>
                            <share-prepared-statements>true</share-prepared-statements>
                        </statement>
                    </xa-datasource>

    spring配置:

    <jee:jndi-lookup id="dataSource" jndi-name="${jndi.dataSource}"/>

  • 相关阅读:
    通用Struts2 配置文件Filterwebxml
    spring+hibernate+struts2应用mysql数据库乱码问题
    区域医疗卫生平台建设(五) HL7 RIM
    在昆山的日子终于要结束了
    医疗基本知识之医嘱篇(三)医嘱中药物、药品、处方的处理
    区域卫生信息平台建设(一)政策
    区域卫生信息平台建设(四)概念模型与逻辑模型
    区域卫生信息平台建设(二)基本功能
    区域卫生信息平台建设(三)数据模型基本概念
    平板电脑选择
  • 原文地址:https://www.cnblogs.com/lingepeiyong/p/2302184.html
Copyright © 2011-2022 走看看