<?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 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="annotationProcessor"
      description="Object that processes things like injection annotations"
      type="org.apache.AnnotationProcessor" />

    <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="namingContextListener"
      description="Associated naming context listener."
      type="org.apache.catalina.core.NamingContextListener" />

    <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="processingTime"
      description="Cumulative execution times of all servlets in this context"
      type="long"
      writeable="false" />

    <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="unloadDelay"
      description="Amount of ms that the container will wait for servlets to unload"
      type="long" />

    <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" />

    <!-- 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>
