摘要: 在java端調(diào)用存儲過程的時候需要存儲過程串行的執(zhí)行,如果使用synchronized lock在應(yīng)用服務(wù)器突然down掉的情況下會出現(xiàn)問題,因為session并沒有立即斷掉,后臺的存儲過程還在繼續(xù)執(zhí)行,這樣如果應(yīng)用服務(wù)器立即重啟,再調(diào)用該存儲過程或者其他需要一起串行化處理的存儲過程就會違反同步執(zhí)行的原則,所以我們必須把鎖放在oracle db端,利用oracle鎖機制來完成存儲過程的同步,文章總結(jié)了一下在java端如何使用oracle這個用戶鎖機制。 閱讀全文
08 2008 檔案
摘要: 最近要寫message在傳送過程中狀態(tài)改變的流程,并根據(jù)不同的狀態(tài)作不同的處理,同時記錄當前的狀態(tài)。于是,看了一下狀態(tài)模式,發(fā)現(xiàn)還是不太好用,比如狀態(tài)對象創(chuàng)建的太多了,稍加修改了一下,大概是就是文章中的這個模樣了:把它分為了“狀態(tài)持有者”, “狀態(tài)對象“, ”狀態(tài)管理者”, “狀態(tài)機”等。 閱讀全文
摘要: 主要是要構(gòu)建一個符合自己需求的的連接池(對象池)。這個連接池中所存放的對象的行為是自定義的并滿足項目實際應(yīng)用需求的。但是這些對象的頻繁創(chuàng)建需要很大的代價,比如一些Socket連接。connection-pool所有部分都是基于接口設(shè)計,便于實現(xiàn)的動態(tài)加入和變更。也用到了很多開源的framework如commons-pool,commons-beanutils,xmlbeans,commons-net。 閱讀全文