从Tomcat Wiki-Web应用程序按什么顺序启动(或如何更改启动顺序)?
没有预期的启动顺序。Servlet规范和Tomcat均未定义。您不能依赖以任何特定顺序启动的应用程序。
Tomcat 支持指定Web应用程序的加载顺序。还有像JBoss这样的其他容器,但是Tomcat却没有。看起来像通过Web应用程序名称的字母顺序来进行负载排序的任何明显行为都是偶然的,并且不能保证在所有情况下都能正常工作。
您可能会想到的是<load-on-startup/>
如果元素web.xml
指定了加载顺序servlets
。
一种解决方案是使用ZeroConf之类的东西并在服务启动时注册您的服务,然后让依赖的应用程序在这些服务可用时寻找它们,并让它们连接起来,并在服务准备就绪时执行所需的操作。这就是我多年来处理多种依赖服务的方式。我有Python,Java和Erlang服务都通过ZeroConf相互发现。