<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配置起來非常簡單,因?yàn)閟pring提供了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實(shí)現(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"/>
      <!--如果默認(rèn)id=
    transactionManager,那么可以有下面的標(biāo)簽,這樣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ù)  回復(fù)  更多評論   

    2013-04-19 13:11 by WillsonYang
    我是菜鳥,能不能說得更加詳細(xì)點(diǎn) ,問下是不是這兩個(gè)程序要一樣,只是分別部署在不同的服務(wù)器上..........完全不使用EJB怎么配置
    主站蜘蛛池模板: 午夜免费福利网站| 精品熟女少妇AV免费观看| jjzz亚洲亚洲女人| 国产精品亚洲а∨天堂2021| 女人被男人桶得好爽免费视频| 97久久国产亚洲精品超碰热| 毛片在线免费视频| 亚洲变态另类一区二区三区| 日韩免费观看视频| 国产精品亚洲精品日韩电影| mm1313亚洲精品无码又大又粗| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲s色大片在线观看| 99久久精品毛片免费播放| 国产亚洲综合成人91精品| 四虎国产成人永久精品免费| 亚洲综合激情另类小说区| 成人免费观看一区二区| 亚洲色大18成人网站WWW在线播放| 色www永久免费视频| 免费无遮挡无遮羞在线看| 伊人久久综在合线亚洲91| 久久伊人免费视频| 亚洲中文字幕久久久一区| 免费人妻无码不卡中文字幕18禁| 国产精品免费久久久久电影网| 亚洲欧洲在线观看| 成年美女黄网站18禁免费| 在线播放国产不卡免费视频| 亚洲成a人片77777老司机| 好男人www免费高清视频在线| 国产亚洲福利精品一区二区| 亚洲国产精品无码久久久不卡| 四虎最新永久免费视频| 久久久久亚洲国产AV麻豆| 国产亚洲成人久久| 69天堂人成无码麻豆免费视频| 国产精品亚洲精品日韩电影| 亚洲国产一区二区三区青草影视| 成年丰满熟妇午夜免费视频| 中文字幕免费在线看电影大全|