<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1
    如果容器支持jta,那么spring配置起來非常簡單,因為spring提供了JtaTransactionManager,在這里面提供了幾乎所有的服務(wù)器的jta的jndi名字,比如
    * "java:comp/UserTransaction" for Resin 2.x, Oracle OC4J (Orion), JOnAS (JOTM), BEA WebLogic
    * "java:comp/TransactionManager" for Resin 3.x
    * "java:appserver/TransactionManager" for GlassFish
    * "java:pm/TransactionManager" for Borland Enterprise Server and Sun Application Server (Sun ONE 7 and later)
    * "java:/TransactionManager" for JBoss Application Server

    由于大部分服務(wù)器獲取jta的方式都不盡相同,spring還針對不同的服務(wù)器提供了不同的jta實現(xiàn),例如:
    WebLogicJtaTransactionManager
    WebSphereUowTransactionManager
    OC4JJtaTransactionManager

    具體內(nèi)容參加:
    http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/transaction/jta/JtaTransactionManager.html

    不管是jdbc、hibernate還是ibatis,都可以通過JtaTransactionManager來配置分布式事務(wù)
    下面簡單貼出部分配置代碼:
    hibernate:
    <beans>
      
    <jee:jndi-lookup id="myDataSource1" jndi-name="dsjndi1" />
      
    <jee:jndi-lookup id="myDataSource2" jndi-name="dsjndi2" />

      
    <bean id="mySessionFactory1"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="dataSource">
                
    <ref bean="myDataSource1" />
            
    </property>
            
    <property name="hibernateProperties">
                
    <props>
                    
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                    
    <prop key="hibernate.show_sql">true</prop>
                    
    <prop key="hiberante.format_sql">true</prop>
                
    </props>
            
    </property> 
            
    <property name="annotatedClasses">
                
    <list>
                    
    <value>com.landor.test.entity.User</value>
                
    </list>
            
    </property>
            
    <property name="annotatedPackages">
                
    <list>
                    
    <value>com.landor.test.entity</value>
                
    </list>
            
    </property>
      
    </bean>
      
    <bean id="mySessionFactory2"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="dataSource">
                
    <ref bean="myDataSource2" />
            
    </property>
            
      
    </bean>

      
    <bean id="myTxManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>
      <!--如果默認id=
    transactionManager,那么可以有下面的標簽,這樣spring會自動尋找相應(yīng)的jta的jndi并且注入
      <tx:jta-transaction-manager/>-->
      <tx:advice id="txAdvice" transaction-manager="myTxManager">
        
    <tx:attributes>
            
    <tx:method name="select*" read-only="true" propagation="REQUIRED"/>
            
    <tx:method name="find*" read-only="true"  propagation="REQUIRED"/>
            
    <tx:method name="save*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
            
    <tx:method name="update*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
            
    <tx:method name="add*"  propagation="REQUIRED" isolation="REPEATABLE_READ" />
            
    <tx:method name="delete*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
        
    </tx:attributes>
      
    </tx:advice>

    </beans>
    ibatis:
    ibatis與hibernate是一樣的,只需要將hibernate的sessionFactory部分更換一下
        ......
       
    <bean id="sqlMap1Client"
            class
    ="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
            
    <property name="dataSource" ref="myDataSource1" />
            
    <property name="configLocation" value="xxx/SqlMapConfig.xml" />
        
    </bean>
        
    <bean id="sqlMap2Client"
            class
    ="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
            
    <property name="dataSource" ref="OssDS" />
            
    <property name="configLocation" value="xxx/SqlMapConfig.xml" />
        
    </bean>
        ......



    Feedback

    # re: 關(guān)于用spring的JtaTransactionManager,配置分布式事務(wù)  回復  更多評論   

    2013-04-19 13:11 by WillsonYang
    我是菜鳥,能不能說得更加詳細點 ,問下是不是這兩個程序要一樣,只是分別部署在不同的服務(wù)器上..........完全不使用EJB怎么配置
    主站蜘蛛池模板: 久久激情亚洲精品无码?V| 无码国模国产在线观看免费| 亚洲人成影院午夜网站| 成人免费毛片观看| aaa毛片视频免费观看| 亚洲啪啪免费视频| 亚洲精品成a人在线观看| 91精品免费观看| 国产区图片区小说区亚洲区| 亚洲人成在线电影| 国产一级特黄高清免费大片| 国产99视频精品免费专区| 亚洲爆乳成av人在线视菜奈实 | 在线观看视频免费国语| 人人爽人人爽人人片av免费| 亚洲国产精品yw在线观看| 亚洲精品视频在线看| 1000部拍拍拍18勿入免费凤凰福利| 极品美女一级毛片免费| 亚洲a级在线观看| 亚洲精品乱码久久久久久按摩| 久久WWW色情成人免费观看| 中国性猛交xxxxx免费看| 亚洲精品国产首次亮相| 18亚洲男同志videos网站| 亚洲成AV人网址| 18禁超污无遮挡无码免费网站国产| 三级黄色片免费看| 精品久久久久亚洲| 久久亚洲最大成人网4438 | 黄色一级免费网站| 麻豆狠色伊人亚洲综合网站| 日韩亚洲Av人人夜夜澡人人爽| 亚洲国产成人久久笫一页| 99久久综合国产精品免费| 久久久精品2019免费观看| 国产午夜免费高清久久影院| 亚洲精品国产日韩无码AV永久免费网| 色噜噜亚洲男人的天堂| 亚洲一区综合在线播放| 久久亚洲国产精品五月天|