5

我正在查看 Tomcat 7 的文档,以了解集群是如何工作的。
该文档讨论了 Deployer 标签:

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
                    tempDir="/tmp/war-temp/"
                    deployDir="/tmp/war-deploy/"
                    watchDir="/tmp/war-listen/"
                    watchEnabled="false"/>

但是关于它的文档很差:http: //tomcat.apache.org/tomcat-7.0-doc/config/cluster-deployer.html

我在http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/ha/deploy/FarmWarDeployer.html类的 javadocs 中找到了一些东西

我找不到的是属性watchEnabled是什么?

4

3 回答 3

4

这里有一些关于它的知识: - 部署者必须在一个部分内声明

  • watchDir 是您可以放置​​交付的目录。部署过程将从这里开始

  • deployDir 是您的应用程序将被部署的目录(很可能是 webapps/ )

  • tempDir 是部署过程中服务器使用的目录。

  • FarmWarDeployer 是我所知道的唯一部署器实现。如果你想扩展这个,你可以设置你自己的实现

  • WatchEnabled应在您的主节点上设置为 true,在其他节点上设置为 false。应用程序将从主节点部署到其他节点。

最好的问候,西里尔

于 2013-04-30T16:04:34.323 回答
2

Tomcat 实例之一必须用watchEnabled=true. 它监视状态watchdir并将其中的更改(新 WAR 或删除)传播到集群的其他成员,至少是那些正在运行 FarmWarDeployer 的成员。

您对文档的可悲状态是完全正确的。我不得不查看源代码。

于 2013-05-03T10:21:06.963 回答
1

如果设置watchEnabled=trueWarWatcher将启动一个实例。

WarWatcher监视文件夹中的战争文件并检查是否有新文件出现,或者现有文件是否已更新等。您还可以通过FarmWarDeployer's processDeployFrequency flag调整观察者检查频率。

于 2013-05-03T09:37:28.227 回答