【问题标题】:Context Name Different than WAR Name Possible with Tomcat Parallel DeploymentTomcat 并行部署可能与 WAR 名称不同的上下文名称
【发布时间】:2013-06-28 20:24:42
【问题描述】:

我正在开发的应用程序目前在 tomcat 内的多个上下文中运行在生产环境中,我们通过为每个文件创建单独的 context.xml 文件来实现这一点,我们在其中指定指向每个文件中相同目录的 docbase。我们目前正在评估 Tomcat 的并行部署功能,但我很难找到一种方法来让它与我们当前的设置一起工作。我已经阅读了 tomcat 文档 (http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming),它似乎不支持我们当前的设置,但我想在我们更改设置 tomcat 的方式之前联系社区并询问。如果我们为每个上下文创建单独的战争并将它们分别部署在 webapps 文件夹中,我就能够让它工作。

有谁知道我们当前的部署机制是否可以与并行部署过程一起使用,如果可以,如何实现?

提前感谢您的指导。

【问题讨论】:

    标签: tomcat tomcat7


    【解决方案1】:

    您可以通过创建指向您的 Web 应用程序的版本化上下文文件来实现所需的功能。例如,如果您有一个名为 myWebsite 的上下文,那么您需要创建一个名为 myWebsite.xml 的上下文文件。这将为您的应用程序设置 docBase 值。下面提供了一个示例。

    File:   /{tomcat.base}/conf/Catalina/localhost/myWebsite.xml
    <Context reloadable="true" crossContext="true" docBase="/Users/jeremy/myapp"></Context>
    

    然后您可以通过将应用程序复制到其新位置(例如:/Users/jeremy/myapp-v2)来进行并行部署,然后创建一个指向该新位置的新上下文文件。新的上下文文件应该包括所有标准并行部署的版本号。

    File:   /{tomcat.base}/conf/Catalina/localhost/myWebsite##001.xml
    <Context reloadable="true" crossContext="true" docBase="/Users/jeremy/myapp-v2"></Context>
    

    只要 tomcat 找到新的上下文文件,就会加载新版本的应用程序,并将新用户发送到新版本的应用程序。现有用户的会话到期后将迁移到新版本。

    感谢 tomcat 用户邮件列表中帮助我解决此问题的所有人http://tomcat.10.x6.nabble.com/Tomcat-7-0-27-on-Mac-OSX-Lion-Is-it-Possible-to-use-Tomcat-Parallel-Deployment-when-the-Context-Namee-td5000908.html#a5000920

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 2013-08-27
      • 1970-01-01
      • 2015-02-09
      • 2010-12-10
      • 1970-01-01
      • 2013-02-08
      相关资源
      最近更新 更多