馬可波羅的夢鄉(xiāng)

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            4 Posts :: 50 Stories :: 2 Comments :: 0 Trackbacks

          2009年8月1日 #

          可以把Spring配置成Listener,它在Filter啟動之前就已經(jīng)加載。

          eclipse異常退出,在Navigator視圖看不到項(xiàng)目了,重新導(dǎo)一次項(xiàng)目就可以了。
          重新編譯沒有用,說是找不到一個jar里的某個類,把這個類從編譯路徑刪除,再加入,代碼會重新編譯,之后發(fā)現(xiàn)沒有錯誤提示了。

          posted @ 2009-08-27 00:37 夢回唐朝 閱讀(177) | 評論 (0)編輯 收藏

          異常機(jī)制的本質(zhì)是,當(dāng)程序出現(xiàn)錯誤時,幫助程序員鎖定錯誤,并對程序進(jìn)行修正。
          現(xiàn)代程序的規(guī)模已經(jīng)大到讓人無法全知的程度,因此異常機(jī)制是一種很有效的機(jī)制。

          找出錯誤體系,逐層細(xì)化,并最終構(gòu)成一個異常體系。

          和JDBC savepoint,回滾等結(jié)合起來,就要看JDBC代碼了,走太遠(yuǎn)不好,夠用就行。


          posted @ 2009-08-06 22:06 夢回唐朝 閱讀(360) | 評論 (2)編輯 收藏

          要辨別事務(wù)的邊界。就是啟動事務(wù)和提交事務(wù)的邊界。 DAO對象的每個方法都對應(yīng)于一些數(shù)據(jù)庫操作。如果需要把兩個或更多個方法作為一個事務(wù),則需要在更高的層次定義事務(wù)。

          Spring的一個好處是為事務(wù)提供了一個統(tǒng)一的抽象,不論底層是用什么實(shí)現(xiàn),如Hibernate, IBatis或者JDBC,都可以使用一個統(tǒng)一的接口。
          如果用Spring來管理Hibernate事務(wù),最好不要直接使用Hibernate事務(wù)接口,因?yàn)檫@會造成混亂。如果使用Spring來管理Hibernate事務(wù),那么就調(diào)用Spring的接口。

          事務(wù)中獲取的Connection必須是和事務(wù)關(guān)聯(lián)的那個Connection,不能直接調(diào)用DataSource的getConnection,如果得到的是不同的Connection,是無法實(shí)現(xiàn)事務(wù)的。因此,最好調(diào)用Spring的事務(wù)工具類。

          事務(wù)管理器,事務(wù)狀態(tài),事務(wù)發(fā)起,事務(wù)提交,事務(wù)回滾等。
          Spring事務(wù),對系統(tǒng)性能的影響有多大,那些更復(fù)雜的分布式事務(wù)如何處理,如何衡量它的性能損耗呢?

          JTS是底層接口,JTA是高層接口。
          JDBC事務(wù)是局部事務(wù),只能應(yīng)用于當(dāng)前數(shù)據(jù)庫。如果事務(wù)跨多個數(shù)據(jù)庫,就必須使用分布式事務(wù)。這個時候可以采用JTA。
          JTA事務(wù),涉及一個事務(wù)管理器和多個資源管理器。資源管理器可以是任何持久性數(shù)據(jù)存儲系統(tǒng),包括數(shù)據(jù)庫系統(tǒng)、MIS系統(tǒng)、JMS等。

          JDBC驅(qū)動只有實(shí)現(xiàn)了XAConnection和XAResource接口才能參與JTA事務(wù)。但是一些高級JavaEE服務(wù)器可以將普通JDBC驅(qū)動模擬為支持XA的JDBC驅(qū)動,這個模擬過程是如何完成的?

          XAConnection和JDBC Connection的事務(wù)操作是不同的,它絕不能自動提交,也絕不能調(diào)用XAConnection的commit和rollback方法,只能調(diào)用UserTransaction對象的begin,rollback和commit方法如何看其底層實(shí)現(xiàn)機(jī)制?;蛘邲]有必要。

          如果只有單個數(shù)據(jù)庫,使用JTA會帶來不必要的復(fù)雜性。不過對于Spring來說,使用哪種事務(wù)已經(jīng)不重要了,因?yàn)?span style="font-size: 8pt; color: red">它定義了一個統(tǒng)一的抽象事務(wù)編程模型。并配合聲明式事務(wù),選擇JDBC事務(wù),還是JTA事務(wù),所需要做的,僅僅是修改配置文件。 一般不會涉及代碼的修改,這是Spring的優(yōu)秀功能之一。

          事務(wù)的隔離級別是由底層數(shù)據(jù)庫實(shí)現(xiàn)的。而事務(wù)的傳播行為這是應(yīng)用程序自己管理的。

          posted @ 2009-08-05 03:37 夢回唐朝 閱讀(217) | 評論 (0)編輯 收藏

          前不久,國內(nèi)某著名企業(yè)的架構(gòu)師給我們做的講座中提到了對象的序列化技術(shù)。
          可見序列化,是一個必須全面了解的概念。
          剛才看Python編程,發(fā)現(xiàn)Python也有序列化機(jī)制,就是把除了基本類型外的對象進(jìn)行存儲,中間的一個過程是把對象轉(zhuǎn)換成一定格式的二進(jìn)制流
          還有其他多種序列化技術(shù)? 如使用JSON也是一種序列化機(jī)制?

          10.16
          剛才使用了簡單的串行化方法。
          在memcached中,應(yīng)該要用到串行化方法吧?

          posted @ 2009-08-01 14:31 夢回唐朝 閱讀(176) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 天水市| 盐城市| 乐清市| 庆城县| 延吉市| 临泽县| 南宁市| 北安市| 西和县| 建昌县| 会理县| 上饶市| 汕尾市| 英吉沙县| 宜都市| 汝城县| 彭阳县| 阳原县| 霍邱县| 新民市| 连平县| 长丰县| 青浦区| 延寿县| 克什克腾旗| 绵阳市| 渑池县| 饶河县| 巧家县| 应城市| 灯塔市| 旅游| 始兴县| 汤原县| 靖边县| 罗源县| 日喀则市| 新乡市| 翁源县| 赞皇县| 仙居县|