我的Blog我做主^_^

          走向一條通往JAVA的不歸路...

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks

          05 2008 檔案

               摘要: Spring聲明式事務(wù)讓我們從復(fù)雜的事務(wù)處理中得到解脫。使得我們?cè)僖矡o(wú)需要去處理獲得連接、關(guān)閉連接、事務(wù)提交和回滾等這些操作。再也無(wú)需要我們?cè)谂c事務(wù)相關(guān)的方法中處理大量的try…catch…finally代碼。
          我們?cè)谑褂肧pring聲明式事務(wù)時(shí),有一個(gè)非常重要的概念就是事務(wù)屬性。事務(wù)屬性通常由事務(wù)的傳播行為,事務(wù)的隔離級(jí)別,事務(wù)的超時(shí)值和事務(wù)只讀標(biāo)志組成。我們?cè)谶M(jìn)行事務(wù)劃分時(shí),需要進(jìn)行事務(wù)定義,也就是配置事務(wù)的屬性。
          Spring在TransactionDefinition接口中定義這些屬性,以供PlatfromTransactionManager使用, PlatfromTransactionManager是spring事務(wù)管理的核心接口。  閱讀全文
          posted @ 2008-05-05 21:52 java_蟈蟈 閱讀(280) | 評(píng)論 (0)  編輯

               摘要: 使用spring的事務(wù)管理需要作這些事
          1,設(shè)置好事務(wù)源,比如DataSource,hibernate的session。如果有多個(gè)事務(wù)源要考慮他們之間是否有全局事務(wù),如果有,老老實(shí)實(shí)用jta,否則就需要自己寫(xiě)一個(gè)manager了
          2,設(shè)置manager,根據(jù)你的事務(wù)源選擇對(duì)應(yīng)的PlatformTransactionManager
          3,選擇實(shí)現(xiàn)事物的方式,用template還是interceptor。用template代碼直觀點(diǎn),但是template所管轄的manager和你應(yīng)用代碼所用的事務(wù)源要一致。如果用interceptor千萬(wàn)注意,一定要調(diào)用interceptor那個(gè)bean,而不是原始的那個(gè)target。在壇子上我已經(jīng)看到至少有兩個(gè)朋友說(shuō)spring事物不起作用,從配置和代碼上看都正確,這時(shí)要好好查查,調(diào)用的bean是哪一個(gè)。
          4,這個(gè)是設(shè)計(jì)問(wèn)題了,推薦事務(wù)處于一個(gè)較高層次,比如service上的某個(gè)函數(shù),而底層的dao可以不考慮事務(wù),否則可能會(huì)出現(xiàn)事務(wù)嵌套,增加程序復(fù)雜度。   閱讀全文
          posted @ 2008-05-05 21:37 java_蟈蟈 閱讀(229) | 評(píng)論 (0)  編輯

          主站蜘蛛池模板: 梅河口市| 丹巴县| 九江市| 温泉县| 安吉县| 张掖市| 湄潭县| 吉林市| 莱州市| 新和县| 台州市| 东宁县| 江都市| 梁山县| 泰宁县| 淮阳县| 津市市| 长泰县| 杨浦区| 南木林县| 阿瓦提县| 宁远县| 文成县| 商南县| 洪江市| 门头沟区| 洛隆县| 嘉兴市| 蓬安县| 东明县| 马边| 资溪县| 凤冈县| 廊坊市| 临澧县| 泽库县| 偏关县| 龙泉市| 新昌县| 连城县| 张家港市|