在我们的Web应用程序中,我们需要Web服务列表中的一些信息。获得该信息后,我们将其放入Application Context
。我们使用ServletContextListener
在应用程序启动时调用这些Web服务。
我们假设由于某种原因导致网络服务中断,ServletContextListner
提供了一些ConnectionTimeOutException
。
这是否会影响应用程序中所有servlet的初始化?
保持这个的最佳位置是哪个? Servlet
或ServletContextListener
?我们可以将此信息放在servlet的init()
方法中,并将load-startup-value
设置为正数。
答案 0 :(得分:1)
这似乎不是最强大的解决方案。您正在建立一个启动依赖项到您的服务中心。我认为你最好将这个初始化构建到应用程序中,以便在启动时不必成功(甚至运行?),并且会优雅地失败。
理想情况下,您应该能够重试该初始化请求(可能是lazt实例化和/或通过用户请求),这样您的服务就是面向恢复的,并且可以在下游失败时保留一些功能。