我希望在Tomcat中成功部署我的Web应用程序后得到通知,而没有任何错误/异常?
我可以编写一个servletContextListener但是contextInitialized()
方法将在之前调用
Web应用程序启动,无法满足我的要求。
答案 0 :(得分:2)
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
答案 1 :(得分:0)
如果您的要求很简单,那么在ServletContextListener中创建单个线程/ runnable就足够了。在contextInitialized()中创建并启动线程,并在contextDestroyed()中将其关闭。 。使用Executors.newSingleThreadScheduledExecutor()创建的ScheduledExecutorService。传递给Executor的Runnable将从BlockingQueue中读取。
在Creating threads a Webapplication which is deployed in Tomcat
上查找更多信息答案 2 :(得分:0)
如何将servlet添加为要加载的最后一个
<load-on-startup>99</load-on-startup>
并在这个servlet上调用另一个可以进行操作的servlet? 像这样你会确保应用程序完全加载,因为第二个servlet会响应。
使用单例来保存启动过程中发生的任何异常会很好,这样您就可以收到通知,或者用于对应用程序进行健全性检查。
欢呼声。