摘要: 在java端調(diào)用存儲過程的時候需要存儲過程串行的執(zhí)行,如果使用synchronized lock在應(yīng)用服務(wù)器突然down掉的情況下會出現(xiàn)問題,因?yàn)閟ession并沒有立即斷掉,后臺的存儲過程還在繼續(xù)執(zhí)行,這樣如果應(yīng)用服務(wù)器立即重啟,再調(diào)用該存儲過程或者其他需要一起串行化處理的存儲過程就會違反同步執(zhí)行的原則,所以我們必須把鎖放在oracle db端,利用oracle鎖機(jī)制來完成存儲過程的同步,文章總結(jié)了一下在java端如何使用oracle這個用戶鎖機(jī)制。 閱讀全文
摘要: 最近要寫message在傳送過程中狀態(tài)改變的流程,并根據(jù)不同的狀態(tài)作不同的處理,同時記錄當(dāng)前的狀態(tài)。于是,看了一下狀態(tài)模式,發(fā)現(xiàn)還是不太好用,比如狀態(tài)對象創(chuàng)建的太多了,稍加修改了一下,大概是就是文章中的這個模樣了:把它分為了“狀態(tài)持有者”, “狀態(tài)對象“, ”狀態(tài)管理者”, “狀態(tài)機(jī)”等。 閱讀全文
摘要: 主要是要構(gòu)建一個符合自己需求的的連接池(對象池)。這個連接池中所存放的對象的行為是自定義的并滿足項(xiàng)目實(shí)際應(yīng)用需求的。但是這些對象的頻繁創(chuàng)建需要很大的代價,比如一些Socket連接。connection-pool所有部分都是基于接口設(shè)計(jì),便于實(shí)現(xiàn)的動態(tài)加入和變更。也用到了很多開源的framework如commons-pool,commons-beanutils,xmlbeans,commons-net。 閱讀全文
摘要: 《Head First Design Pattern》一書在講單例模式時舉了一個double check的例子,覺得它的代碼寫的有問題,修改了一下它的代碼,不知道正確與否,大家討論。討論的結(jié)果兩種寫法在舊的JMM上都是錯的,在新的JMM上都是正確的,文中添加了一些個人的理解。 閱讀全文
摘要: 總結(jié)了一下java中使用到Connection Pool的一些情況,并想了一下如何實(shí)現(xiàn)特定種類的Connection Pool。 閱讀全文
摘要: 因?yàn)閘og對象常常不需要序列化,我們?nèi)绾卧诳尚蛄谢愔卸xlog對象? 閱讀全文
摘要: 介紹了在spring的基礎(chǔ)上實(shí)現(xiàn)一個簡易的Exception處理框架。主要是采取受管的方式:xml配置文件和annotation。Exception在框架統(tǒng)一的地方進(jìn)行處理,使得應(yīng)用程序開發(fā)人員不必為處理exception而困擾,也不必為寫大量的try,catch塊而困擾。 閱讀全文
摘要: 上次用Coherence實(shí)現(xiàn)緩存數(shù)據(jù)同步的transport manager之后,對它進(jìn)行了壓力測試并和EMS JMS和 OracleAS JMS(內(nèi)存)進(jìn)行了性能對比。文中描述了測試的過程,并共享了代碼和測試結(jié)果。 閱讀全文
摘要: 用ASM直接分析字節(jié)碼來加載Class級別的Annotation。文中給出了一個例子,例子的主程序會加載用某個Annotation標(biāo)注的class,而那些沒有被該Annotation標(biāo)注的class就不會被加載。 閱讀全文
摘要: Toplink提供了很強(qiáng)大的Cache功能,利用cache可以大大減少直接和DB通信的次數(shù),特別是讀事務(wù)比較多的情況下。在分布式應(yīng)用中,多個toplink session cache之間需要即時的同步數(shù)據(jù),保證各個cache中的數(shù)據(jù)都是最新的數(shù)據(jù),避免頻繁地出現(xiàn)stale數(shù)據(jù)或樂觀鎖異常。Toplink默認(rèn)支持的兩種同步機(jī)制:JMS和RMI,有時為了考慮一些特殊的需求,必須性能,我們可能需要自定義一個Toplink的Transport Manager,本文給出了一個用Oracle Coherence實(shí)現(xiàn)Toplink Tranport Manager的具體例子,注意只是用了Coherence的通信并沒有把Coherence整合成Toplink的Session Cache。 閱讀全文
摘要: 本文主要介紹了如何用XPath編寫自定義的PMD Rule。靜態(tài)分析代碼是否符合相應(yīng)的規(guī)則,及早檢查出代碼中的不足之出。 閱讀全文
摘要: 總結(jié)了有幾種方法編寫自定義Annotation 閱讀全文
摘要:
項(xiàng)目改用maven和artifactory做jar包管理,artifactory相當(dāng)于公網(wǎng)maven repo的cache或者說鏡像的作用,內(nèi)網(wǎng)的developer都會連接到artifactory去download jar包,如果artifactory沒有這些jar包,artifactory會自動去外網(wǎng)下載。
閱讀全文
項(xiàng)目改用maven和artifactory做jar包管理,artifactory相當(dāng)于公網(wǎng)maven repo的cache或者說鏡像的作用,內(nèi)網(wǎng)的developer都會連接到artifactory去download jar包,如果artifactory沒有這些jar包,artifactory會自動去外網(wǎng)下載。
閱讀全文