<?xml version="1.0"?>
<mbeans-descriptors>

  <mbean         name="SimpleTcpCluster"
            className="org.apache.catalina.mbeans.ClassNameMBean"
          description="Tcp Cluster implementation"
               domain="Catalina"
                group="Cluster"
                 type="org.apache.catalina.ha.tcp.SimpleTcpCluster">

    <attribute   name="protocolStack"
          description="JavaGroups protocol stack selection"
                 type="java.lang.String"/>

  </mbean>


  <mbean         name="SimpleTcpReplicationManager"
            className="org.apache.catalina.mbeans.ClassNameMBean"
          description="Clustered implementation of the Manager interface"
               domain="Catalina"
                group="Manager"
                 type="org.apache.catalina.ha.tcp.SimpleTcpReplicationManager">

    <attribute   name="algorithm"
          description="The message digest algorithm to be used when generating
                       session identifiers"
                 type="java.lang.String"/>

    <attribute   name="checkInterval"
          description="The interval (in seconds) between checks for expired
                       sessions"
                 type="int"/>

    <attribute   name="className"
          description="Fully qualified class name of the managed object"
                 type="java.lang.String"
            writeable="false"/>

    <attribute   name="distributable"
          description="The distributable flag for Sessions created by this
                       Manager"
                 type="boolean"/>

    <attribute   name="entropy"
          description="A String initialization parameter used to increase the
                       entropy of the initialization of our random number
                       generator"
                 type="java.lang.String"/>

    <attribute   name="managedResource"
          description="The managed resource this MBean is associated with"
                 type="java.lang.Object"/>

    <attribute   name="maxActiveSessions"
          description="The maximum number of active Sessions allowed, or -1
                       for no limit"
                 type="int"/>

    <attribute   name="maxInactiveInterval"
          description="The default maximum inactive interval for Sessions
                       created by this Manager"
                 type="int"/>

    <attribute   name="name"
          description="The descriptive name of this Manager implementation
                       (for logging)"
                 type="java.lang.String"
            writeable="false"/>

  </mbean>



<mbean         name="ReplicationValve"
            className="org.apache.catalina.mbeans.ClassNameMBean"
          description="Valve for simple tcp replication"
               domain="Catalina"
                group="Valve"
                 type="org.apache.catalina.ha.tcp.ReplicationValve">

    <attribute   name="className"
          description="Fully qualified class name of the managed object"
                 type="java.lang.String"
            writeable="false"/>

    <attribute   name="debug"
          description="The debugging detail level for this component"
                 type="int"/>

  </mbean>


</mbeans-descriptors>
