我正在查看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 有人知道吗?
干杯
答案 0 :(得分:4)
这里有一些关于它的知识: - 必须在部分
内声明部署者watchDir是您可以进行投放的目录。部署过程将从此处开始
deployDir是部署应用程序的目录(很可能是webapps /)
和tempDir是部署过程中服务器使用的目录。
FarmWarDeployer是我所知道的唯一部署实施者。如果你想扩展这个,你可以设置自己的实现
WatchEnabled 应在主节点上设置为true,在其他节点上设置为false。 应用程序将从主服务器部署到其他节点。
祝你好运, 西里尔
答案 1 :(得分:2)
必须使用watchEnabled=true
声明一个 Tomcat实例。它监视watchdir
的状态并将其中的更改(新的WAR或删除)传播到群集的其他成员,至少是那些运行FarmWarDeployer的成员。
您对文档的可悲状态完全正确。我不得不查看源代码。
答案 2 :(得分:1)
如果您设置watchEnabled=true
,则会启动WarWatcher
的实例。
WarWatcher
监视战争文件的文件夹并检查新文件是否已浮出水面,或现有文件是否已更新等。您还可以通过FarmWarDeployer
{{1}调整观察者检查频率} flag。