一旦我的Web应用程序在Tomcat中成功部署,如何获得通知?

时间:2013-02-02 07:22:24

标签: tomcat web-applications web-deployment servletcontextlistener

我希望在Tomcat中成功部署我的Web应用程序后得到通知,而没有任何错误/异常?

我可以编写一个servletContextListener但是contextInitialized()方法将在之前调用 Web应用程序启动,无法满足我的要求。

3 个答案:

答案 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会响应。

使用单例来保存启动过程中发生的任何异常会很好,这样您就可以收到通知,或者用于对应用程序进行健全性检查。

欢呼声。