上下文名称不同于WAR名称可能与Tomcat并行部署

时间:2013-06-28 20:24:43

标签: tomcat tomcat7

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

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

提前感谢您的指导。

1 个答案:

答案 0 :(得分:2)

您可以通过创建指向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