<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怎么配置
    主站蜘蛛池模板: 亚洲精品av无码喷奶水糖心| 亚洲 欧洲 自拍 另类 校园| 国产视频精品免费视频| 亚洲精品无码av天堂| 午夜免费国产体验区免费的| 亚洲国产精品自在拍在线播放| 国产亚洲精品欧洲在线观看| 免费一级毛片在线播放不收费| 国产亚洲精品美女| 久久影院亚洲一区| 国产一区二区三区免费观在线| 亚洲精品无码AV人在线播放| 国产在线观看免费视频软件| 久久亚洲中文字幕精品有坂深雪| 久久综合给合久久国产免费| 亚洲国产亚洲综合在线尤物| 国产精品冒白浆免费视频| 四虎精品免费永久免费视频| 久久久久久a亚洲欧洲aⅴ| 最近最新高清免费中文字幕 | 人妻仑刮八A级毛片免费看| 亚洲国产成人久久综合碰| 国产情侣久久久久aⅴ免费| 亚洲xxxxxx| 亚洲乱码国产一区网址| 免费人妻无码不卡中文字幕系| 色婷五月综激情亚洲综合| 亚洲国产成人久久笫一页| 99久9在线|免费| jzzijzzij在线观看亚洲熟妇| 亚洲精品国产品国语在线| 插B内射18免费视频| 中文字幕手机在线免费看电影| 亚洲精品中文字幕乱码| 波多野结衣中文一区二区免费| 国产好大好硬好爽免费不卡| 亚洲中文无码卡通动漫野外| 亚洲色欲色欲www在线丝| a毛片基地免费全部视频| 国产性生大片免费观看性| 亚洲色少妇熟女11p|