<?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="configFile"
               description="Location of the context.xml resource or file"
               type="java.lang.String"/>
               
    <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="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 context"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation name="stop"
               description="Stop the context"
               impact="ACTION"
               returnType="void">
    </operation>
    
    <operation name="destroy"
               description="Destroy the context"
               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="Total execution time of the servlet's service method"
               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>
