2009-10-28 21 views
0

我的应用程序首次启动时有一些昂贵的设置。看来,只要我将WAR文件复制到webapps中,日志文件就会显示“部署Web应用程序归档文件Navaid.jar”,但在我点击URL之前,它实际上并不运行任何内容。我宁愿让第一个访问该网址的人忍受这个启动的等待时间。有没有我可以使用的“onDeploy”方法,或者是做什么处理,或者我应该有ant复制文件,等待几秒钟,然后wget url?WAR部署完成后,是否有办法让Tomcat启动应用程序?

回答

1

实现与ServletContextListener接口的类,然后把它声明为在你的web.xml监听器:

<listener> 
    <listener-class> ...your class here... </listener-class> 
</listener> 

你的类将被调用在启动时(&在关机)。

+0

太棒了,工作。现在我只需要弄清楚如何让其他servlet阻止响应,直到完成,但这是另一个问题。 – 2009-10-28 18:28:28

+1

在完成对ServletContextListener的调用之前,容器不会调用servlet。请参阅http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletContextListener.html – 2009-10-28 20:51:13

0

您可以在web.xml文件中指定几个Servlet在启动时加载。然后,他们可以调用您应用的各个部分,以确保它们已启动。

+0

这是怎么回事? – 2009-10-28 16:22:38

相关问题