0

一旦我的 Web 应用程序成功部署在 Tomcat 中且没有任何错误/异常,我想得到通知吗?

我可以编写一个 servletContextListener 但contextInitialized()方法将在 Web 应用程序启动之前被调用,这不能解决我的要求。

4

3 回答 3

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
于 2013-02-02T16:17:12.223 回答
0

将一个 servlet 添加为最后一个加载,怎么样?

<load-on-startup>99</load-on-startup>

并在这个 servlet 上调用另一个 servlet 来执行您的操作?像这样,您将确保应用程序已完全加载,因为第二个 servlet 会响应。

最好有一个单例来保存启动过程中发生的任何异常,这样您就可以收到通知,或用于应用程序的健全性检查。

干杯。

于 2013-02-02T16:25:29.177 回答
0

如果您的要求很简单,那么只需在 ServletContextListener 中创建单个线程/可运行就很容易了。在 contextInitialized() 中创建并启动线程,并在 contextDestroyed() 中将其关闭。. 使用由 Executors.newSingleThreadScheduledExecutor() 创建的 ScheduledExecutorService。您传递给 Executor 的 Runnable 将从 BlockingQueue 中读取。

在创建线程一个部署在 Tomcat 中的 Web 应用程序中查找更多信息

于 2013-02-02T07:28:11.903 回答