2012-12-27 52 views
0

在我們的Web應用程序中,我們需要來自Web服務列表的一些信息。一旦我們得到這些信息,我們就把它放在Application Context。我們使用ServletContextListener在應用程序啓動時調用這些Web服務。ServletContextListener中的異常及其影響

讓我們假設網絡服務由於某種原因而關閉,並且ServletContextListner給出了一些ConnectionTimeOutException

會影響應用程序中所有servlet的初始化嗎?

哪一個是最好的地方? ServletServletContextListener?我們可以將此信息放在一個servlet的init()方法中,並將load-startup-value設置爲正數。

您能否讓我知道?

回答

1

這似乎不是最強大的解決方案。您正在爲您的服務的核心建立起始依賴性。我認爲你最好將初始化構建到應用程序中,以便它在啓動時不必成功(或者甚至運行?),並且會優雅地失敗。

理想情況下,您應該能夠重試該初始化請求(可能是lazt實例化和/或通過用戶請求),以便您的服務是面向恢復的,並且可以在面對下游故障時保留一些功能。

+0

謝謝Brian。所以你的意思是說把這個邏輯放在servlet的init方法中更好?我應該在啓動時加載這個servlet嗎? – Deepika

相關問題