我想在我的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