我有一個JSF應用程序,其中爲Hibernate實現了DAO層(也使用Spring進行事務管理)。有關處理JSF應用程序中數據庫連接丟失的問題
我遇到的問題是偶爾會發生數據庫故障,當發生這種情況時,我希望JSF應用程序重定向到「丟失的數據庫連接」頁面。
有我能想到的來處理這兩種方法:
(1)階段偵聽器,測試在每次請求數據庫連接和重定向如果數據庫是不存在的; (除了這意味着每個Web應用程序請求額外的數據庫查詢)
(2)每個DAO中的每個方法都會拋出某種「NoDBConnectionExcepiton」並在後臺bean中捕獲該異常並在那裏重定向(除非意味着寫入大量的異常處理代碼)
有沒有人有任何想法?建議和建議表示感謝!
Rob
我喜歡這個想法,但是OP聲明他在DAO中使用Hibernate。 Hibernate不會讓SQLException轉義並將其轉換爲運行時異常HibernateException。所以它需要在每個DAO方法中添加所有try/catch/throw腳手架,爲每個方法添加throws子句,然後將try/catch添加到調用DAO的服務方法中。 – Olaf
@奧拉夫:我忽略了那一點。然後,我會讓它擴展'HibernateException'。 – BalusC