0

我在 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 以便将 webapp 配置为在 Tomcat 服务器本身启动时不自动启动?

提前谢谢,PM。

4

2 回答 2

1

我认为您无法在 web.xml 中执行此操作。load-on-startup用于告诉 webapp 在 webapp 启动时启动一个 servlet。一个 webapp 通常由多个 servlet 组成。

如果你想确保 webapp 在启动时没有加载,而是使用 Tomcat 管理器来启动它,我建议你deployOnStartup="false"<Host>容器中设置,在settings.xml. 有关详细信息,请参阅 Tomcat 7 文档页面:

http://tomcat.apache.org/tomcat-7.0-doc/config/host.html

于 2013-01-30T12:23:25.997 回答
1

您应该阅读最近关于 Tomcat 用户列表的讨论,我相信它可以回答您的确切问题: http: //markmail.org/message/5hp3dohwj3vncg4c

最重要的是,您只能在启动时启动 Manager webapp,但对于重启后发生的情况有一些限制。Mark Thomas 的回复是最有用的。

于 2013-01-30T17:59:29.223 回答