<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mbeans-descriptors PUBLIC
 "-//Apache Software Foundation//DTD Model MBeans Configuration File"
 "http://jakarta.apache.org/commons/dtds/mbeans-descriptors.dtd">
<!--
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - JOnAS: Java(TM) Open Application Server
  - Copyright (C) 2007-2010 Bull S.A.S.
  - Contact: jonas-team@ow2.org
  -
  - This library is free software; you can redistribute it and/or
  - modify it under the terms of the GNU Lesser General Public
  - License as published by the Free Software Foundation; either
  - version 2.1 of the License, or (at your option) any later version.
  -
  - This library is distributed in the hope that it will be useful,
  - but WITHOUT ANY WARRANTY; without even the implied warranty of
  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  - Lesser General Public License for more details.
  -
  - You should have received a copy of the GNU Lesser General Public
  - License along with this library; if not, write to the Free Software
  - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - $Id:mbeans-descriptors.xml 10798 2007-07-01 20:56:02Z benoitf $
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-->

<!--
  Descriptions of JOnAS JMX MBeans for Catalina
  Define these beans else Catalina won't start with the active listener.
-->

<mbeans-descriptors>

  <mbean
    name="JOnASStandardContext"
    className="org.apache.catalina.mbeans.StandardContextMBean"
    description="JOnAS Standard Context Component"
    domain="Catalina"
    group="Context"
    type="org.ow2.jonas.web.tomcat6.JOnASStandardContext">

    <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="aliases"
               description="List of resource aliases"
               type="java.lang.String" />
  
    <attribute name="altDDName"
               description="The alternate deployment descriptor name."
               type="java.lang.String" />             

    <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="cacheObjectMaxSize"
               description="Maximum cached object 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="children"
               description="Object names of all children"
               type="[Ljavax.management.ObjectName;"/>
               
    <attribute name="clearReferenceStatic"
               description="Should Tomcat attempt to null out any static or final fields from loaded classes when a web application is stopped as a work around for apparent garbage collection bugs and application coding errors?"
               type="boolean"/>
               
    <attribute name="clearReferenceStopThreads"
               description="Should Tomcat attempt to terminate threads that have been started by the web application? Advisable to be used only in a development environment."
               type="boolean"/>
               
    <attribute name="clearReferenceStopThreadLocals"
               description="Should Tomcat attempt to clear any ThreadLocal objects that are instances of classes loaded by this class loader. "
               type="boolean"/>
               
    <attribute name="configFilePath"
               description="Location of the context.xml resource or file"
               type="java.lang.String"/>
               
    <attribute name="configured"
               description="The correctly configured flag for this Context."
               type="boolean"
               writeable="false" />
               
    <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"
               writeable="false" />
          
    <attribute name="displayName"
               description="The display name of this web application"
               type="java.lang.String"/>
               
    <attribute name="distributable"
               description="The distributable flag for this web application."
               type="java.lang.String"/>
                     
    <attribute name="docBase"
               description="The document root for this web application"
               type="java.lang.String"/>
               
    <attribute name="encodedPath"
               description="The encoded path"
               type="java.lang.String"
               writeable="false" />
      
    <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"
               writeable="false" />
          
    <attribute name="hostName"
               description="The host name."
               type="java.lang.String"
               writeable="false" />
          
    <attribute name="ignoreAnnotations"
               description="Ignore annotations flag."
               type="boolean" />
               
    <attribute name="instanceManager"
               description="Object that creates and destroys servlets, filters, and listeners. Include dependency injection and postConstruct/preDestory handling"
               type="org.apache.catalina.instanceManagement.InstanceManager" />
                              
    <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="logEffectiveWebxml"
               description="Should the effective web.xml be logged when the context starts?"
               type="boolean" />
      
    <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="namingContextListener"
               description="Associated naming context listener."
               type="org.apache.catalina.core.NamingContextListener" />
      
    <attribute name="objectName"
               description="Name of the object"
               type="java.lang.String"
               writeable="false" />
          
    <attribute name="originalDocBase"
               description="The original document root for this web application"
               type="java.lang.String" />
      
    <attribute name="override"
               description="The default context.xml 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="paused"
               description="The request processing pause flag (while reloading occurs)"
               type="boolean"
               writeable="false" />
               
    <attribute name="privileged"
               description="Access to tomcat internals"
               type="boolean"/>
               
    <attribute name="processingTime"
               description="Cumulative execution times of all servlets in this context"
               type="long"
               writeable="false" />
               
    <attribute name="publicId"
               description="The public identifier of the DTD for the web application deployment descriptor version that is being parsed"
               type="java.lang.String"
               writeable="false" />
      
    <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="sessionCookieName"
               description="The name to use for session cookies.'null' indicates that the name is controlled by the application."
               type="java.lang.String"/>
               
    <attribute name="sessionCookieDomain"
               description="The domain to use for session cookies.'null' indicates that the domain is controlled by the application."
               type="java.lang.String"/>               
               
    <attribute name="sessionCookiePath"
               description="The path to use for session cookies.'null' indicates that the path is controlled by the application."
               type="java.lang.String"/> 
               
    <attribute name="sessionTimeout"
               description="The session timeout (in minutes) for this web application"
               type="int"/>                                            

    <attribute name="startTime"
               description="Time (in milliseconds since January 1, 1970, 00:00:00) when this context was started"
               type="long"
               writeable="false" />
          
    <attribute name="startupTime"
               description="Time (in milliseconds) it took to start this context"
               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"
               writeable="false" />         
          
    <attribute name="staticResources"
               description="Static resources associated with the context."
               type="javax.naming.directory.DirContext"
               writeable="false"/>
               
    <attribute name="statisticsProvider"
               description="Performance statistics support for this managed object"
               is="true"
               type="boolean"
               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="tldNamespaceAware"
               description="Should TLD XML namespace validation be turned on?"
               type="boolean"/>
               
    <attribute name="tldScanTime"
               description="Time spend scanning jars for TLDs for this context"
               type="long"/>
               
    <attribute name="tldValidation"
               description="Should TLD XML validation be turned on?"
               type="boolean"/>
               
    <attribute name="unloadDelay"
               description="Amount of ms that the container will wait for servlets to unload"
               type="long"/>
               
    <attribute name="unpackWAR"
               description="Unpack WAR property"
               type="boolean"/>
               
    <attribute name="useHttpOnly"
               description="Indicates that session cookies should use HttpOnly"
               type="boolean"/>

    <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"/>
               
    <attribute name="xmlValidation"
               description="Should XML validation be turned on?"
               type="boolean"/>
               
    <attribute name="xmlNamespaceAware"
               description="Should XML namespace validation be turned on?"
               type="boolean"/>


    <!-- JOnAS add -->
    <attribute
      name="hostname"
      description="The name of the host on which this module is running"
      type="java.lang.String"
      writeable="false" />

    <attribute
      name="inServerXml"
      description="Configured in the server.xml file"
      type="boolean"
      is="true"
      writeable="false" />

    <attribute
      name="jonasDeploymentDescriptor"
      description="JOnAS specific deployment descriptor"
      type="java.lang.String" />

    <attribute
      name="warURL"
      description="URL of this web module"
      type="java.net.URL"
      writeable="false" />

    <attribute
      name="earURL"
      description="URL of the ear which containes this web module"
      type="java.net.URL"
      writeable="false" />

    <attribute
      name="earON"
      description="OBJECT_NAME of the parent J2EEApplication MBean"
      type="java.lang.String"
      writeable="false" />

    <attribute
      name="inEarCase"
      description="true if this web module is part of an ear"
      type="java.lang.boolean"
      is="true"
      writeable="false" />

    <attribute
      name="java2DelegationModel"
      description="true if the Java2 delegation model is used"
      type="java.lang.boolean"
      is="true"
      writeable="false" />

    <!-- JOnAS add end -->

    <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="addLifecycleListener"
               description="Add a lifecycle listener to this Context"
               impact="ACTION"
               returnType="void">
      <parameter name="listener"
                 description="New lifecycle listener to be added"
                 type="org.apache.catalina.LifecycleListener"/>
    </operation>
    
    <operation name="removeLifecycleListener"
               description="Remove a lifecycle listener from this Context"
               impact="ACTION"
               returnType="void">
      <parameter name="listener"
                 description="New lifecycle listener to be removed"
                 type="org.apache.catalina.LifecycleListener"/>
    </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>

</mbeans-descriptors>
