<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,在這里面提供了幾乎所有的服務器的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

    由于大部分服務器獲取jta的方式都不盡相同,spring還針對不同的服務器提供了不同的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來配置分布式事務
    下面簡單貼出部分配置代碼:
    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會自動尋找相應的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,配置分布式事務  回復  更多評論   

    2013-04-19 13:11 by WillsonYang
    我是菜鳥,能不能說得更加詳細點 ,問下是不是這兩個程序要一樣,只是分別部署在不同的服務器上..........完全不使用EJB怎么配置
    主站蜘蛛池模板: 1000部拍拍拍18勿入免费视频下载| 成年午夜视频免费观看视频| 一级毛片在线播放免费| 国产成人高清亚洲| 98精品全国免费观看视频| 亚洲春色在线视频| 毛色毛片免费观看| 亚洲熟女乱色一区二区三区| 波多野结衣中文一区二区免费| a毛片全部免费播放| 亚洲国产成人久久综合野外| 国产成人不卡亚洲精品91| 日本高清免费中文字幕不卡| 两个人看的www免费视频| 亚洲欧美日韩综合俺去了| AV片在线观看免费| 精品无码国产污污污免费网站国产 | 香蕉免费一区二区三区| 久久久亚洲精品无码| 日韩免费一级毛片| 久久永久免费人妻精品下载| 男男gay做爽爽的视频免费| 久久久久亚洲精品天堂| 亚洲精品视频在线看| 日韩在线免费视频| 精品免费tv久久久久久久| 麻豆亚洲AV成人无码久久精品| 99久久亚洲综合精品成人网| 亚洲午夜AV无码专区在线播放 | 性感美女视频在线观看免费精品 | 一区二区三区AV高清免费波多| 亚洲国产精品自产在线播放| 四虎免费影院ww4164h| 亚洲精品久久无码| 亚洲国产精品xo在线观看| 曰皮全部过程视频免费国产30分钟| 久久99免费视频| a在线视频免费观看在线视频三区| 亚洲VA中文字幕无码毛片| 一本色道久久88亚洲综合| 中文字幕在线免费观看视频|