<?xml version="1.0"?>
<!--
  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.
-->
<mbeans-descriptors>
  <mbean
    name="FarmWarDeployer"
    className="org.apache.catalina.mbeans.ClassNameMBean"
    description="Farm Deployer - Broken"
    domain="Catalina"
    group="Cluster"
    type="org.apache.catalina.ha.deploy.FarmWarDeployer"/>
    <attribute
      name="deployDir"
      description="Deployment directory."
      type="java.lang.String"/>
    <attribute
      name="tempDir"
      description="The temporaryDirectory to store binary data when downloading a war from the cluster"
      type="java.lang.String"/>
    <attribute
      name="watchDir"
      description="The directory where we watch for changes"
      type="java.lang.String"/>
    <attribute
      name="watchEnabled"
      description="Is watching enabled?"
      type="boolean"/>
</mbeans-descriptors>
