我想在我的Web應用程序在Tomcat中成功部署而沒有任何錯誤/異常時收到通知?如何在Tomcat中成功部署Web應用程序時收到通知?
我可以寫一個servletContextListener,但contextInitialized()
方法將在 之前被調用,Web應用程序啓動不會解決我的要求。
我想在我的Web應用程序在Tomcat中成功部署而沒有任何錯誤/異常時收到通知?如何在Tomcat中成功部署Web應用程序時收到通知?
我可以寫一個servletContextListener,但contextInitialized()
方法將在 之前被調用,Web應用程序啓動不會解決我的要求。
如果您的要求很簡單,只需在ServletContextListener中創建單個線程/ runnable就夠了。在contextInitialized()中創建並啓動線程,並在contextDestroyed()中將其關閉。 。使用由Executors.newSingleThreadScheduledExecutor()創建的ScheduledExecutorService。您傳遞給Executor的Runnable將從BlockingQueue中讀取。
尋找在Creating threads a Webapplication which is deployed in Tomcat
tmp=$(mktemp -t catalina.XXXXXXX) || exit 136
trap 'rm "$tmp"' 0
trap 'exit 255' 2 15
tail -n 200 catalina.out >"$tmp"
if grep -q error "$tmp"; then
cat "$tmp"
exit 1
fi
exit 0
要添加servlet作爲要加載的最後什麼的更多信息,
<load-on-startup>99</load-on-startup>
,並在這個servlet作出另一個servlet將撥打電話的操作? 像這樣,您可以確保應用程序已完全加載,因爲第二個servlet會響應。
如果有一個單例可以保存啓動過程中發生的任何異常,那麼您可能會收到通知,或者用於對應用程序進行完整性檢查。
歡呼聲。
中沒有任何錯誤地部署的地方,所有的servlet都可以正確加載,但是有幾個spring bean也應該加載而沒有錯誤/異常。所以我認爲你的
嘿gabhi,我的要求是一旦我的網絡應用程序開始沒有任何錯誤,就會觸發一些東西。不只是部署在tomcat中。因此,我認爲contextInitialized()不是我可以說在catalina.out – Sandy