我正在實現涉及分佈式資源的兩階段提交。如何模擬參與數據庫的失敗?拔出網線不起作用,因爲它會導致表死鎖。我正在使用我的應用程序代碼中的鉤子,在查詢執行之後的不同點處拋出StaleConnectionException
,執行查詢之後。我對這種方法的關注是:如何模擬數據庫故障以測試Java中的兩階段提交
- 有沒有更好的方法來模擬數據庫故障?
- 數據庫連接變差時連接對象會發生什麼變化?它保留其價值還是變爲空?
- 應用程序嘗試重新連接到數據庫時實際發生了什麼?連接對象獲得了什麼值?它是否使用連接池中的現有值?
我也想在中間點來測試樣查詢執行過程中,在提交(後製備發送等)。現在,我將應用程序置於調試模式,並進入函數調用並插入它們之間的插件。但是這種方法是手動的,不適用於規模測試。
是否有模擬器/模擬器或工具可以幫助我做到這一點?
您是否針對任何特定數據庫,或者這是否需要成爲任何JDBC連接數據庫的通用解決方案? – kgrittn 2012-04-11 15:27:04
我現在正在使用DB2和DB2 z/OS。 – Andy 2012-04-11 16:13:13
Andy,您選擇了哪種模擬數據庫故障的方法? – dmiandre 2013-09-11 14:26:22