如果我們在Servlet init方法中使用資源,並且在初始化期間無法訪問該資源,但我們知道在某個時間段後資源將可用。我們在這種情況下應該做什麼?Java Servlet初始化失敗
- 拋出異常無法
- 一次請求時,該servlet可能開始工作
- 做必要的東西一樣的try/catch和提供後援邏輯
任何其他什麼都不做建議?
如果我們在Servlet init方法中使用資源,並且在初始化期間無法訪問該資源,但我們知道在某個時間段後資源將可用。我們在這種情況下應該做什麼?Java Servlet初始化失敗
任何其他什麼都不做建議?
在一切可用之前接受請求是一種奇怪的情況,但無論如何,這是一個故障異常的例子。你應該拋出一個異常,讓它冒泡到「故障屏障」,這是你處理異常的地方。例如,您可能會記錄該異常,並讓用戶知道以後再檢查。
這與意外事件例外形成鮮明對比,意外事件例外是可恢復的,應該以允許用戶前進的方式處理。
順便說一句,我沒有想出這種方法。 Barry Ruzek did。
我想,這取決於資源是否需要用戶的請求。如果需要,您必須在處理用戶請求之前初始化資源。如果不需要,您可以跳過該資源。您還可以將請求記錄到數據庫或日誌文件中。當資源可用時,您可以根據日誌調用操作並修改您存儲的數據的狀態。
那麼你如何處理案件資源未能初始化? – user3085390
它取決於用戶的請求是否需要該資源。如果需要,您可以拋出異常。如果不需要,您可以捕獲異常並將其輸出到日誌文件中。您還可以在代碼中設置一個標誌,並在資源初始化失敗時將其設置爲false。後者的請求將判斷國旗。如果它是假的,它會跳過代碼。 – jiangchunzhi
如果我理解正確,你的意思是拋出不可用的異常就足夠了。沒有必要提供後備邏輯的情況下資源是必需的和不可用的? – user3085390
感謝澄清&這真的是一個很好的文章。 – user3085390