滿心期望,收穫的確實失望

2021-08-25 18:16:48 字數 974 閱讀 6263

由於專案是基於原型系統調整,而原型系統中沒有做任何的事務處理,所以想整合乙個簡單的事務控制包。

整理專案框架時,發現專案project中引用了其他公司開發的事務控制包,更巧的是,我畢業後去的就是那家公司,而且進入的第乙個專案的資料庫事務控制就是這個包做的框架,記得當時還反編譯看過原始碼。

現在需要自己整了,當然希望對自己使用的東西有所了解,於是又反編譯看原始碼,看了一天時間,最後的結論是:事務控制很簡單,必須嚴格的遵守事務控制規則,這些規則包括:

1、不能巢狀事務。如果存在巢狀事務,則外層的事務回滾不能回滾內層事務的提交。

2、不能手動釋放connection鏈結,因為connection物件是執行緒內共享的。如果想不使用事務,只從框架中獲取資料庫鏈結並人為控制鏈結的生命週期,將影響到同一執行緒的其他資料庫操作。

最後的測試也驗證了上面兩點。

這就有點像簡單的建立乙個threadlocal物件,必須嚴格的按照

transactionmanager.begintransaction();

getconnection();

只能有一段事務碼

transactionmanager.committransaction();

if exception exist

transaction.rollback();   

中間如果巢狀事務,相當於內外兩個單獨的事務(即同乙個connection提交兩次)。

其實這之前我自己做了乙個簡單的事務控制框架,可以實現巢狀和撇開事務控制單獨使用connection物件。但第一次做,怕出問題,所以心裡沒底。結果看了那個原始碼後,感覺只是將程式的層次寫得更抽象和複雜了,本質的功能卻很死板並且容易出問題。

誒,菜鳥的起步階段可能就是這麼的舉步維艱!特別是專案組只有自己乙個人,而且需要看前輩們寫的那些沒有一點組織性的**。這種時刻只有一種感覺——什麼方面的只是都感覺欠缺,不夠用;什麼都想學;但學什麼都有點力不從心。專案時間緊迫,沒什麼時間可以抽出來潛心的學點什麼,都是囫圇吞棗,一知半解。

用什麼來填滿心靈

一位深具智慧型的父親,為了要考驗三個兒子的聰明才智,苦心設計,想出了一道考題。父親交給三個兒子每人一百塊錢,要他們用這一百塊錢,去買他們所能想到的任何東西,再將買回來的東西,設法裝滿乙個占地超過一百坪的巨大倉庫。大兒子想了很久,決定將那一百塊錢全部去買最便宜的稻草。結果,稻草運回來之後,連倉庫的一半...

期望及期望dp

簡單說就是概率 概率的價值 osu x 1 3 x3 3x2 3x 1 可以看出每多出乙個1,答案就會增加3x2 3x 1 於是可以維護x和x2的期望 x1 i x1 i 1 1 p i x2 i x2 i 1 2 x1 i 1 1 p i ans i ans i 1 3 x2 i 1 3 x1 i...

期望 幾何分布的期望

先給出乙個幾何分布的分布列 其中,x表示第x次抽中 p表示第中的概率 對於每一次 中獎概率p為3 4,不中獎概率 1 p 為1 4 1.什麼是幾何分布 簡言之,幾何分布就是前n次都沒有抽中,第n 1次抽中的概率 2.幾何分布的期望 假設,對於每一次 抽中的概率為p,未抽中的概率為 1 p 則期望為1...