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

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

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

    shenang博客技術文檔


    理論不懂就實踐,實踐不會就學理論!

    posts - 35,comments - 55,trackbacks - 0
     

    對于J2EE 應用程序而言,事務的處理一般有兩種模式:

    1 依賴特定事務資源的事務處理

    這是應用開發(fā)中最常見的模式, 即通過特定資源提供的事務機制進行事務管理。

    如通過JDBCJTArollbackcommit方法;Hibernate Transaction

    rollbackcommit方法等。這種方法大家已經相當熟悉。

     2 依賴容器的參數(shù)化事務管理

    通過容器提供的集約式參數(shù)化事務機制,實現(xiàn)事務的外部管理,如EJB中的事

    務管理模式。

     如,下面的EJB事務定義中,將 SessionBean MySession doService

    法定義為Required

    也就是說,當 MySession.doServer 方法被某個線程調用時,容器將此線程

    納入事務管理容器,方法調用過程中如果發(fā)生異常,當前事務將被容器自動回

    滾,如果方法正常結束,則容器將自動提交當前事務。

    <container-transaction >

        <method >

           <ejb-name>MySession</ejb-name>

           <method-intf>Remote</method-intf>

           <method-name>doService</method-name>

           <method-params>

              <method-param>java.lang.String</method-param>

           </method-params>

        </method>

        <trans-attribute>Required</trans-attribute>

    </container-transaction>

    容器管理的參數(shù)化事務為程序開發(fā)提供了相當?shù)撵`活性,同時因為將事務委

    托給容器進行管理,應用邏輯中無需再編寫事務代碼,大大節(jié)省了代碼量(特

    別是針對需要同時操作多個事務資源的應用) ,從而提高了生產率。

    然而,使用 EJB 事務管理的代價相當高昂,撇開 EJB 容器不菲的價格,EJB

    的學習成本,部署、遷移、維護難度,以及容器本身帶來的性能開銷(這往往

    意味著需要更高的硬件配置)都給我們帶來了相當?shù)睦Щ蟆4藭r事務管理所帶

    來的優(yōu)勢往往還不能抵消上面這些負面影響。

    配置案例:

    <beans>

     <bean id="dataSource"

       class="org.apache.commons.dbcp.BasicDataSource"

       destroy-method="close">

       <property name="driverClassName">

         <value>org.gjt.mm.mysql.Driver</value>

       </property>

       <property name="url">

         <value>jdbc:mysql://localhost/sample</value>

       </property>

       <property name="username">

         <value>user</value>

       </property>

       <property name="password">

         <value>mypass</value>

       </property>

     </bean>

     <bean id="transactionManager"

    class="org.springframework.jdbc.datasource.DataSourceTr

    ansactionManager">

       <property name="dataSource">

         <ref local="dataSource" />

       </property>

     </bean>

     <bean id="userDAO" class="net.xiaxin.dao.UserDAO">

       <property name="dataSource">

         <ref local="dataSource" />

       </property>

     </bean>   SpringFrameWork Developer’s Guide Version 0.6

    October 8, 2004     So many open source projects. Why not Open your Documents?

     <bean id="userDAOProxy"

     class="org.springframework.transaction.interceptor.Tran

    sactionProxyFactoryBean">

       <property name="transactionManager">

         <ref bean="transactionManager" />

       </property>

       <property name="target">

         <ref local="userDAO" />

       </property>

       <property name="transactionAttributes">

         <props>

           <prop key="insert*">PROPAGATION_REQUIRED</prop>

           <prop key="get*">

    PROPAGATION_REQUIRED,readOnly

    </prop>

         </props>

       </property>

     </bean>

    </beans>  

    SpringEJB事務管理比較

    1 Spring可以將任意Java Class 納入事務管理

    這里的UserDAO只是我們編寫的一個普通 Java Class 其中包含了一些

    基本的數(shù)據(jù)應用邏輯。通過 Spring,我們即可簡單的實現(xiàn)事務的可配置

    化。也就是說,我們可以隨意為某個類的某個方法指定事務管理機制。

    與之對比,如果使用EJB容器提供的事務管理功能,我們不得不按照 EJB

    規(guī)范編將UserDAO 進行改造,將其轉換為一個標準的 EJB

    2 Spring事務管理并不依賴特定的事務資源

    EJB 容器必須依賴于 JTA 提供事務支持。而 Spring 的事務管理則支持

    JDBCJTA 等多種事務資源。這為我們提供了更多的選擇,從而也使得

    我們的系統(tǒng)部署更加靈活。

    posted on 2009-03-24 13:24 重慶理工小子 閱讀(1073) 評論(0)  編輯  收藏 所屬分類: Spring2
    主站蜘蛛池模板: 免费成人在线观看| 亚洲熟妇无码一区二区三区导航 | 无码囯产精品一区二区免费| a毛看片免费观看视频| 四虎成人精品永久免费AV| 亚洲国产另类久久久精品小说| 亚洲伊人久久大香线蕉苏妲己| 99人中文字幕亚洲区| 国产成人免费a在线视频色戒| 久久国产免费福利永久| 91精品国产免费入口| 亚洲精品免费网站| 国产精品jizz在线观看免费| 天天爽亚洲中文字幕| 国产成人无码精品久久久久免费| 国产精品极品美女自在线观看免费 | 久久亚洲精品成人无码网站| 国产精品亚洲一区二区三区在线观看 | 91在线免费视频| 亚洲AV日韩精品久久久久久久| 亚洲午夜无码毛片av久久京东热 | 69天堂人成无码麻豆免费视频| 精品少妇人妻AV免费久久洗澡| 国产亚洲?V无码?V男人的天堂 | 精品无码国产污污污免费网站| 亚洲高清在线mv| 毛片免费观看的视频在线| 亚洲一级片内射网站在线观看| va天堂va亚洲va影视中文字幕| 女人18毛片免费观看| 亚洲ⅴ国产v天堂a无码二区| 麻豆高清免费国产一区| 好看的电影网站亚洲一区| 国产成人福利免费视频| 国产亚洲人成在线播放| 无人在线观看免费高清视频| 亚洲精品综合久久中文字幕| 免费看成人AA片无码视频吃奶| 亚洲AV日韩精品一区二区三区| 亚洲成人激情在线| 免费国产黄网站在线观看可以下载|