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

  <mbean name="NamingContextListener"
         description="Helper class used to initialize and populate the JNDI context associated with each context and server"
         domain="Catalina"
         group="Listener"
         type="org.apache.catalina.core.NamingContextListener">
    
    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
      
  </mbean>

  <mbean name="StandardContext"
         description="Standard Context Component"
         domain="Catalina"
         group="Context"
         type="org.apache.catalina.core.StandardContext">
    
    <attribute name="allowLinking"
               description="Allow symlinking to outside the webapp root directory, if the webapp is an exploded directory"
               is="true"
               type="boolean"/>
      
    <attribute name="antiJARLocking"
               description="Take care to not lock jar files"
               type="boolean" />

    <attribute name="antiResourceLocking"
               description="Take care to not lock resources"
               type="boolean" />

    <attribute name="cacheMaxSize"
               description="Maximum cache size in KB"
               type="int"/>
      
    <attribute name="cacheTTL"
               description="Time interval in ms between cache refeshes"
               type="int"/>
      
    <attribute name="cachingAllowed"
               description="Should we cache static resources for this webapp"
               is="true"
               type="boolean"/>
      
    <attribute name="caseSensitive"
               description="Should case sensitivity checks be performed"
               is="true"
               type="boolean"/>
      
    <attribute name="children"
               description="Object names of all children"
               type="[Ljavax.management.ObjectName;"/>
               
    <attribute   name="cookies"
               description="Should we attempt to use cookies for session id
               communication?"
               type="boolean"/>
      
    <attribute name="compilerClasspath"
               description="The compiler classpath to use"
               type="java.lang.String"/>
      
    <attribute name="crossContext"
               description="Should we allow the ServletContext.getContext() method to access the context of other web applications in this server?"
               type="boolean"/>

    <attribute name="defaultContextXml"
               description="Location of the default context.xml resource or file"
               type="java.lang.String"/>
               
    <attribute name="defaultWebXml"
               description="Location of the default web.xml resource or file"
               type="java.lang.String"/>
               
    <attribute name="delegate"
               description=""
               type="boolean"/>
               
    <attribute name="deploymentDescriptor"
               description="String deployment descriptor "
               type="java.lang.String"/>
                     
    <attribute name="docBase"
               description="The document root for this web application"
               type="java.lang.String"/>
      
    <attribute name="engineName"
               description="Name of the engine domain, if different from the context domain"
               type="java.lang.String"/>

    <attribute name="eventProvider"
               description="Event provider support for this managed object"
               is="true"
               type="boolean"/>
                              
    <attribute name="javaVMs"
               description="The Java virtual machines on which this module is running"
               type="[Ljava.lang.String;"/>

    <attribute name="loader"
               description="Associated loader."
               type="org.apache.catalina.Loader" />
      
    <attribute name="logger"
               description="Associated logger."
               type="org.apache.commons.logging.Log" />
      
    <attribute name="managedResource"
               description="The managed resource this MBean is associated with"
               type="java.lang.Object"/>
      
    <attribute name="manager"
               description="Associated manager."
               type="org.apache.catalina.Manager" />
      
    <attribute name="managerChecksFrequency"
               description="The frequency of the manager checks (expiration and passivation)"
               type="int"/>
               
    <attribute name="mappingObject"
               description="The object used for mapping"
               type="java.lang.Object"/>
      
    <attribute name="objectName"
               description="Name of the object"
               type="java.lang.String"/>
      
    <attribute name="override"
               description="The DefaultContext override flag for this web application"
               type="boolean"/>
      
    <attribute name="parentClassLoader"
               description="Parent class loader."
               type="java.lang.ClassLoader" />
      
    <attribute name="path"
               description="The context path for this Context"
               type="java.lang.String"/>
               
    <attribute name="privileged"
               description="Access to tomcat internals"
               type="boolean"/>
      
    <attribute name="realm"
               description="Associated realm."
               type="org.apache.catalina.Realm" />
      
    <attribute name="reloadable"
               description="The reloadable flag for this web application"
               type="boolean"/>

    <attribute name="saveConfig"
               description="Should the configuration be written as needed on startup"
               is="true"
               type="boolean"/>
      
    <attribute name="server"
               description="The J2EE Server this module is deployed on"
               type="java.lang.String"/>
                              
    <attribute name="servlets"
               description="JSR77 list of servlets"
               type="[Ljava.lang.String;"
               writeable="false"/>
               
    <attribute name="startupTime"
               description="Time (in milliseconds) it took to start this context"
               type="long"/>

    <attribute name="startTime"
               description="Time (in milliseconds since January 1, 1970, 00:00:00) when this context was started"
               type="long"/>
               
    <attribute name="state"
               description="Current state of this component"
               type="int"/>
                     
    <attribute name="stateManageable"
               description="State management support for this managed object"
               is="true"
               type="boolean"/>
               
    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"/>
               
    <attribute name="staticResources"
               description="Static resources associated with the context."
               type="javax.naming.directory.DirContext"
               writeable="false"/>
      
    <attribute   name="swallowOutput"
               description="Flag to set to cause the system.out and system.err to be redirected to the logger when executing a servlet"
               type="boolean"/>
               
    <attribute name="tldScanTime"
               description="Time spend scanning jars for TLDs for this context"
               type="long"/>

    <attribute name="useNaming"
               description="Create a JNDI naming context for this application?"
               is="true"
               type="boolean"/>
               
    <attribute name="valveObjectNames"
               description="ObjectNames for the valves associated with this container"
               type="[Ljavax.management.ObjectName;"
               writeable="false"/>

    <attribute name="welcomeFiles"
               description="The welcome files for this context"
               type="[Ljava.lang.String;"
               writeable="false"/>
      
    <attribute name="workDir"
               description="The pathname to the work directory for this context"
               type="java.lang.String"/>

    <operation   name="addValve"
               description="Add a valve to this Context"
               impact="ACTION"
               returnType="void">
      <parameter name="valve"
                 description="New valve to be added"
                 type="org.apache.catalina.Valve"/>
    </operation>
    
    <operation   name="removeValve"
               description="Remove a valve from this Context"
               impact="ACTION"
               returnType="void">
      <parameter name="valve"
                 description="New valve to be removed"
                 type="org.apache.catalina.Valve"/>
    </operation>
    
    <operation   name="reload"
               description="Reload the webapplication"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation   name="init"
               description="Register the context into the running server"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation   name="start"
               description="Start the contex"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation name="stop"
               description="Stop the contex"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation name="destroy"
               description="Destroy the contex"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation name="findMappingObject"
               description="Return an object which may be utilized for mapping to this component"
               impact="INFO"
               returnType="org.apache.catalina.Context">    
    </operation>    
    
    <operation name="findStaticResources"
               description="Return the naming resources associated with this web application"
               impact="INFO"
               returnType="javax.naming.directory.DirContext">    
    </operation>
    
  </mbean>
  
  <mbean name="StandardContextValve"
         description="Valve that implements the default basic behavior for the
         StandardContext container implementation"
         domain="Catalina"
         group="Valve"
         type="org.apache.catalina.core.StandardContextValve">
    
    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
      
  </mbean>
  
  <mbean name="StandardEngine"
         type="org.apache.catalina.core.StandardEngine"
         description="Standard Engine Component"
         domain="Catalina"
         group="Engine">
    
    <attribute name="defaultHost"
               description="Name of the default Host for this Engine"
               type="java.lang.String"/>
      
    <attribute   name="managedResource"
               description="The managed resource this MBean is associated with"
               type="java.lang.Object"/>
      
    <attribute   name="name"
               description="Unique name of this Engine"
               type="java.lang.String"/>
      
    <attribute   name="baseDir"
               description="Base dir for this engine, typically same as catalina.base system property"
               type="java.lang.String"/>
      
    <attribute   name="jvmRoute"
               description="Route used for load balancing"
               type="java.lang.String"/>
      
    <attribute name="realm"
               description="Associated realm."
               type="org.apache.catalina.Realm" />
      
    <attribute name="valveObjectNames"
               description="ObjectNames for the valves associated with this container"
               type="[Ljavax.management.ObjectName;"
               writeable="false"/>

    <operation name="addChild"
               description="Add a virtual host"
               impact="ACTION"
               returnType="void">
      <parameter name="child"
                 description="Host object"
                 type="org.apache.catalina.Container"/>
    </operation>
    
    <operation name="start" description="Start" impact="ACTION" returnType="void" />
    <operation name="stop" description="Stop" impact="ACTION" returnType="void" />
      
  </mbean>

  
  <mbean name="StandardEngineValve"
         description="Valve that implements the default basic behavior for the
         StandardEngine container implementation"
         domain="Catalina"
         group="Valve"
         type="org.apache.catalina.core.StandardEngineValve">
    
    <attribute   name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
      
  </mbean>
  
  <mbean name="StandardHost"
         description="Standard Host Component"
         domain="Catalina"
         group="Host"
         type="org.apache.catalina.core.StandardHost">
    
    <attribute name="appBase"
               description="The application root for this Host"
               type="java.lang.String"/>
      
    <attribute name="autoDeploy"
               description="The auto deploy flag for this Host"
               type="boolean"/>
                 
    <attribute name="deployOnStartup"
               description="The deploy on startup flag for this Host"
               type="boolean"/>

    <attribute name="deployXML"
               description="deploy Context XML config files property"
               is="true"
               type="boolean"/>
      
    <attribute name="managedResource"
               description="The managed resource this MBean is associated with"
               type="java.lang.Object"/>
      
    <attribute name="name"
               description="Unique name of this Host"
               type="java.lang.String"/>
      
    <attribute name="unpackWARs"
               description="Unpack WARs property"
               is="true"
               type="boolean"/>
      
    <attribute name="xmlNamespaceAware"
               description="Attribute value used to turn on/off XML namespace awareness"
               type="boolean"/>
      
    <attribute name="xmlValidation"
               description="Attribute value used to turn on/off XML validation"
               type="boolean"/>

    <attribute name="children"
               description="Object names of all children"
               type="[Ljavax.management.ObjectName;"/>
      
    <attribute name="aliases"
               description="Host aliases"
               type="[Ljava.lang.String;"/>
      
    <attribute name="realm"
               description="Associated realm."
               type="org.apache.catalina.Realm" />
      
    <attribute name="valveNames"
               description="Return the MBean Names of the Valves associated with this Host"
               type="[Ljava.lang.String;"/>
      
    <attribute name="valveObjectNames"
               description="Return the MBean ObjectNames of the Valves associated with this Host"
               type="[Ljavax.management.ObjectName;"/>
      
    <operation name="addAlias"
               description="Add an alias name that should be mapped to this Host"
               impact="ACTION"
               returnType="void">
      <parameter name="alias"
                 description="The alias to be added"
                 type="java.lang.String"/>
    </operation>
    
    <operation name="findAliases"
               description="Return the set of alias names for this Host"
               impact="INFO"
               returnType="[Ljava.lang.String;"/>

    <operation name="addChild"
               description="Add a context"
               impact="ACTION">
      <parameter name="child"
                 description="Context to be added"
                 type="org.apache.catalina.Container"/>
    </operation>
      
    <operation   name="removeAlias"
               description="Remove the specified alias name from the aliases for this  Host"
               impact="ACTION"
               returnType="void">
      <parameter name="alias"
                 description="Alias name to be removed"
                 type="java.lang.String"/>
    </operation>
    
    <operation name="start" description="Start" impact="ACTION" returnType="void" />
    <operation name="stop" description="Stop" impact="ACTION" returnType="void" />
    <operation name="init" description="Init" impact="ACTION" returnType="void" />
    <operation name="destroy" description="Destroy" impact="ACTION" returnType="void" />
  </mbean>
  
  <mbean name="StandardHostValve"
         description="Valve that implements the default basic behavior for the
         StandardHost container implementation"
         domain="Catalina"
         group="Valve"
         type="org.apache.catalina.core.StandardHostValve">
    
    <attribute name="className"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>

  </mbean>

  <mbean name="StandardServer"
         description="Standard Server Component"
         domain="Catalina"
         group="Server"
         type="org.apache.catalina.core.StandardServer">
    
    <attribute name="managedResource"
               description="The managed resource this MBean is associated with"
               type="java.lang.Object"/>
      
    <attribute name="port"
               description="TCP port for shutdown messages"
               type="int"/>
      
    <attribute name="shutdown"
               description="Shutdown password"
               type="java.lang.String"/>
      
    <attribute name="serviceNames"
               description="Object names of all services we know about"
               type="[Ljavax.management.ObjectName;"/>
      
    <operation name="await"
               description="Wait for the shutdown message"
               impact="ACTION"
               returnType="void" />

    <operation name="storeConfig"
               description="Save current state to server.xml file"
               impact="ACTION"
               returnType="void">

    </operation>
    
  </mbean>

  
  <mbean name="StandardService"
         description="Standard Service Component"
         domain="Catalina"
         group="Service"
         type="org.apache.catalina.core.StandardService">
    
    <attribute name="managedResource"
               description="The managed resource this MBean is associated with"
               type="java.lang.Object"/>
      
    <attribute name="name"
               description="Unique name of this Service"
               type="java.lang.String"/>
      
    <attribute name="connectorNames"
               description="ObjectNames of the connectors"
               type="[Ljavax.management.ObjectName;"
               writeable="false" />
      
    <attribute name="container"
               description="Servlet engine that will process the requests"
               type="org.apache.catalina.Container" />

    <attribute name="containerName"
               description="ObjectNames of the engine"
               type="javax.management.ObjectName"
               writeable="false" />

    <operation name="addConnector"
               description="Add a new connector"
               impact="ACTION"
               returnType="void">
      <parameter name="connector"
                 description="Connector object"
                 type="org.apache.catalina.connector.Connector"/>
    </operation>
    
    <operation name="start" description="Start" impact="ACTION" returnType="void" />
    <operation name="stop" description="Stop" impact="ACTION" returnType="void" />
  </mbean>

  <mbean name="StandardWrapper"
         description="Wrapper that represents an individual servlet definition"
         domain="Catalina"
         group="Wrapper"
         type="org.apache.catalina.core.StandardWrapper">
               
    <attribute name="engineName"
               description="Fully qualified class name of the managed object"
               type="java.lang.String"
               writeable="false"/>
               
    <attribute name="eventProvider"
               description="Event provider support for this managed object"
               is="true"
               type="boolean"/>

    <attribute name="objectName"
               description="Name of the object"
               type="java.lang.String"/>

    <attribute name="stateManageable"
               description="State management support for this managed object"
               is="true"
               type="boolean"/>

    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"/>

    <attribute name="processingTime"
               description="Cumulative processing time"
               type="long"
               writeable="false" />

    <attribute name="maxTime"
               description="Maximum processing time of a request"
               type="long"
               writeable="false" />

    <attribute name="minTime"
               description="Minimum processing time of a request"
               type="long"
               writeable="false" />

    <attribute name="requestCount"
               description="Number of requests processed by this wrapper"
               type="int"
               writeable="false" />

    <attribute name="errorCount"
               description="Error count"
               type="int"
               writeable="false" />

    <attribute name="loadTime"
               description="Load time"
               type="long"
               writeable="false" />

    <attribute name="classLoadTime"
               description="Class loading time"
               type="int"
               writeable="false" />

    <operation name="findMappings"
               description="Return the mappings associated with this wrapper"
               impact="INFO"
               returnType="[Ljava.lang.String;">
    </operation>
               
    <operation name="findMappingObject"
               description="Return an object which may be utilized for mapping to this component"
               impact="INFO"
               returnType="org.apache.catalina.Wrapper">
    </operation>
    
  </mbean>
  
  <mbean name="StandardWrapperValve"
         description="Valve that implements the default basic behavior for the
         StandardWrapper container implementation"
         domain="Catalina"
         group="Valve"
         type="org.apache.catalina.core.StandardWrapperValve">
         
     <attribute name="className"
                description="Fully qualified class name of the managed object"
                type="java.lang.String"
                writeable="false"/>  
                    
  </mbean>

</mbeans-descriptors>
