有没有办法让Tomcat在部署WAR后立即启动应用程序?

时间:2009-10-28 15:52:47

标签: tomcat servlets

我的应用程序首次启动时需要进行一些昂贵的设置。看来,只要我在webapps中复制WAR文件,日志文件就会显示“部署Web应用程序存档Navaid.jar”,但在我点击URL之前它实际上并没有运行任何内容。我宁愿让第一个打到网址的人忍受这次启动的等待时间。是否有一个“onDeploy”方法我可以使用或者某些东西来处理,或者我应该只是蚂蚁复制文件,等待几秒钟,然后忘记网址?

2 个答案:

答案 0 :(得分:1)

使用ServletContextListener接口实现一个类,然后在web.xml中将其声明为侦听器:

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

你的课程将在启动时被调用(&amp; on shutdown)。

答案 1 :(得分:0)

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