相关文章推荐

自动部署-用例

目录

该页面定义了许多典型用例中自动部署程序的预期行为。这是Tomcat功能的一个复杂区域。虽然此文档与Tomcat的行为之间的任何区别都是一个错误,但解决方法可能是更改此文档,Tomcat的行为或同时更改两者。

术语描述 XML格式 位于主机的 configBase中 的XML配置文件。它必须包含一个 元素,并且可以包含可选的嵌套元素。它没有定义显式的 docBase 属性。它代表一个Web应用程序。它通常称为context.xml文件。 XML + EW 位于主机的 configBase中 的XML配置文件。它必须包含一个 元素,并且可以包含可选的嵌套元素。它包括一个指向外部WAR的显式 docBase 属性。它代表一个Web应用程序。它通常称为context.xml文件。 XML + ED 位于主机的 configBase中 的XML配置文件。它必须包含一个 元素,并且可以包含可选的嵌套元素。它包括一个指向外部目录的显式 docBase 属性。它代表一个Web应用程序。它通常称为context.xml文件。 位于主机的 appBase 中的WAR文件。WAR不包括嵌入式context.xml文件。 WAR + XML 位于主机的 appBase 中的WAR文件。WAR确实包含一个嵌入式context.xml文件。 位于主机的 appBase 中的目录。该目录不包含嵌入式context.xml文件。 DIR + XML 位于主机的 appBase 中的目录。该目录确实包含一个嵌入式context.xml文件。 代表Web应用程序的Context对象被销毁,并创建了一个新的Context对象。如果存在且配置允许,则通过解析context.xml文件来创建此新的Context对象。在应用程序启动过程中将解析web.xml文件。默认配置下标准管理器中存储的所有会话均不会保留。重新部署期间对Web应用程序的任何请求都将被处理,就像未部署Web应用程序一样。 代表Web应用程序的Context对象被停止,然后启动。在应用程序启动过程中将解析web.xml文件。默认配置下标准管理器中存储的所有会话均不会保留。在重新加载期间对Web应用程序的任何请求都将保留,直到重新加载完成为止,此时它们将继续使用重新加载的Web应用程序。

本部分描述了当自动部署过程检测到Web应用程序文件已被删除时Tomcat的行为。

删除或修改文件时,修改/删除的资源之后列出的所有重新部署资源本身都将被删除(并可能会重新创建)。重新部署资源的顺序为:

  • XML格式
  • 上面的删除规则有一些例外:

  • 全局资源永不删除
  • 外部资源永不删除
  • 如果已修改WAR或DIR,则仅当 copyXML true deployXML true
  • 在下表中:

  • “-”表示“不变”。即工件在更改之前不存在,在更改之后也不存在。 “-”而不是“ N”用于将注意力集中在变化上。
  • “ R”表示通过扩展WAR文件来重新创建目录。仅当 unpackWARs true
  • “ XW”表示如果WAR包含META-INF / context.xml文件,它将被提取并放置在主机的 configBase中 。仅当 copyXML true deployXML true
  • “ XD”表示如果目录包含META-INF / context.xml文件,它将被复制到主机的 configBase 。仅当 copyXML true deployXML true
  • 如果添加了WAR,则将删除所有DIR,并且可以根据 unpackWARs 重新创建DIR。
  • 如果添加了引用外部 docBase 的XML文件,则appBase中的所有WAR或DIR都将被删除。如果外部资源是WAR并且 unpackWARs 为true,则可以重新创建DIR。
  • 如果在已经存在WAR且 unpackWAR false ,DIR将被忽略,但在首次检测到DIR时将记录警告。如果删除了WAR,则将保留DIR,并且可以通过自动部署进行部署。
  • 如果在已存在外部WAR的情况下将WAR添加到 appBase ,则将忽略 appBase中 的WAR,但在首次检测到 appBase中 的WAR时将记录警告。如果删除了外部WAR,则将保留 appBase中 的WAR,并且可以通过自动部署进行部署。
  • 如果将XML文件添加到从该DIR部署的应用程序的META-INF目录中,则将始终重新部署该应用程序。结果将与新部署相同。
  • 由于在 configBase 中发现了XML文件, 所以 将忽略 deployXML copyXML
  • 因为没有WAR文件,所以 unpackWARs 被忽略。
  • 由于期望的 docBase中 没有内容,因此上下文将无法启动。
  • Web应用程序部署失败,因为它包含嵌入式META-INF / context.xml, deployXML false 并且 configBase中 未提供XML。
  • 仅当 copyXML 为时才删除XML文件。 true deployXML true
  •  
    推荐文章