<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE document [
  <!ENTITY project SYSTEM "project.xml">
]>
<document url="cluster-deployer.html">

  &project;

  <properties>
    <author email="fhanik@apache.org">Filip Hanik</author>
    <title>The Cluster Deployer object</title>
  </properties>

<body>

<section name="Table of Contents">
<toc/>
</section>

<section name="Introduction">
  <p>The Farm War Deployer can deploy and undeploy web applications on the other
  nodes in the cluster.</p>
  <p><strong>Note:</strong> FarmWarDeployer can be configured at host level
  cluster only.
  </p>
</section>


<section name="org.apache.catalina.ha.deploy.FarmWarDeployer">

  <subsection name="Attributes">

    <attributes>
      <attribute name="className" required="true">
        The cluster deployer class, currently only one is available,
        <code>org.apache.catalina.ha.deploy.FarmWarDeployer.</code>
      </attribute>
      <attribute name="deployDir" required="true">
        Deployment directory. This is the pathname of a directory where deploy
        the web applications. You may specify an absolute pathname, or a
        pathname that is relative to the $CATALINA_BASE directory. In the
        current implementation, this attribute must be the same value as the
        <strong>Host's appBase</strong>.
      </attribute>
      <attribute name="tempDir" required="true">
        The temporaryDirectory to store binary data when downloading a war from
        the cluster. You may specify an absolute pathname, or a pathname that is
        relative to the $CATALINA_BASE directory.
      </attribute>
      <attribute name="watchDir" required="false">
        This is the pathname of a directory where watch for changes(add/modify/remove)
        of web applications. You may specify an absolute pathname, or a pathname
        that is relative to the $CATALINA_BASE directory.
        <strong>Note: </strong> if <strong>watchEnabled</strong> is false, this
        attribute will have no effect.
      </attribute>
      <attribute name="watchEnabled" required="false">
        Set to true if you want to watch for changes of web applications.
        Only when this attribute set to true, you can trigger a deploy/undeploy
        of web applications. The flag's value defaults to false.
      </attribute>
      <attribute name="processDeployFrequency" required="false">
        Frequency of the Farm watchDir check. Cluster wide deployment will be
        done once for the specified amount of backgroundProcess calls (ie, the
        lower the amount, the most often the checks will occur). The minimum
        value is 1, and the default value is 2.
        <strong>Note: </strong> if <strong>watchEnabled</strong> is false, this
        attribute will have no effect.
      </attribute>
      <attribute name="maxValidTime" required="false">
        FileMessageFactory instances used by the FarmWarDeployer are only
        retained while they are required. When receiving a WAR file, the
        associated FileMessageFactory instance is deleted once the WAR file has
        been fully received. To avoid memory leaks under various error
        conditions (part of the file never received, very slow message transfer,
        etc.), this attribute defines the maximum time permitted between
        receiving valid messages that contain part of the WAR file. If that
        maximum time is exceeded, the FileMessageFactory will be deleted and the
        WAR file transfer will fail for that node. If a negative value is
        specified, the FileMessageFactory will only be removed once the WAR file
        is fully received. If not specified, the default value of 300 (5
        minutes) will be used.
      </attribute>
    </attributes>

  </subsection>

</section>


</body>

</document>
