我在Apache Tomcat(7.0.x)中部署了一个简单的webapp,它使用ContextLoaderListener而不是Servlet进行自举。我希望这个webapp不会在Tomcat服务器本身启动时自动启动,而只是通过Tomcat管理器手动启动/停止。我在网上看到的示例显示了如何使用以下web.xml中的servlet代码轻松完成此操作:
<servlet><load-on-startup>0</load-on-startup></servlet>
但是在使用ContextLoaderListener时没有可用的示例。这有可能吗?或者我是否需要包含一个servlet,以便在Tomcat服务器本身启动时将webapp配置为不自动启动?
提前致谢, PM。
答案 0 :(得分:1)
我认为您无法在web.xml中执行此操作。 load-on-startup
用于告诉webapp在启动webapp时启动servlet。 Web应用程序通常由多个servlet组成。
如果您想确保在启动时未加载webapp,而是使用Tomcat管理器启动它,我建议您在deployOnStartup="false"
容器中<Host>
设置settings.xml
。有关详细信息,请参阅Tomcat 7文档页面:
答案 1 :(得分:1)
您应该阅读最近关于Tomcat用户列表的讨论,我相信这些讨论可以回答您的确切问题:http://markmail.org/message/5hp3dohwj3vncg4c
最重要的是,您可以在启动时仅启动Manager webapp,但对重启后发生的情况有一些限制。马克·托马斯的回复是最有用的。