<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!DOCTYPE mbeans-descriptors PUBLIC
 "-//Apache Software Foundation//DTD Model MBeans Configuration File"
 "http://jakarta.apache.org/commons/dtds/mbeans-descriptors.dtd">

<!--
     Descriptions of JMX MBeans for jk
 -->

<mbeans-descriptors>

  <mbean name="ChannelSocket"
         description="Socket channel"
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.common.ChannelSocket">

    <attribute   name="port"
          description="The port number on which we listen for ajp13 requests"
                type="int"/>
    <attribute   name="maxPort"
          description="The max port number on which we listen for ajp13 requests"
                type="int"/>
    <attribute   name="address"
          description="The IP address on which to bind"
                 type="java.lang.String"/>
    <attribute   name="maxSpareThreads"
          description="The maximum number of unused request processing threads"
                 type="int"/>
    <attribute   name="maxThreads"
          description="The maximum number of request processing threads to be created"
                 type="int"/>
    <attribute   name="minSpareThreads"
          description="The number of request processing threads that will be created"
                 type="int"/>
    <attribute   name="tcpNoDelay"
          description="Should we use TCP no delay?"
                 type="boolean"/>
    <attribute   name="soLinger"
          description="Linger value on the incoming connection"
                 type="int"/>
    <attribute   name="soTimeout"
          description="Socket timeout"
                 type="int"/>
    <attribute   name="requestCount"
          description="current request count"
                 type="int"
            writeable="false"/>
    <attribute   name="daemon"
          description="are worker threads on daemon mode"
                 type="boolean"
            writeable="false"/>
    <attribute name="packetSize"
          description="The maximum AJP packet size"
          type="int" />

    <operation name="start"
               description="Start, if server socket no create call init"
               impact="ACTION"
               returnType="void" />
    <operation name="stop"
               description="Stop"
               impact="ACTION"
               returnType="void" />
    <operation name="pause"
               description="Pause ajp socket, no new connection accepted"
               impact="ACTION"
               returnType="void"/>
    <operation name="resume"
               description="Resume socket for new connections"
               impact="ACTION"
               returnType="void"/>
    <operation name="reinit"
               description="Init and Destroy"
               impact="ACTION"
               returnType="void" />
    <operation name="init"
               description="Init"
               impact="ACTION"
               returnType="void" />
    <operation name="destroy"
               description="Destroy"
               impact="ACTION"
               returnType="void" />
    <operation name="resetCounters"
               description="reset request counter"
               impact="ACTION"
               returnType="void"/>


  </mbean>

  <mbean name="JkWorkerEnv"
         description="Worker env for jk"
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.core.WorkerEnv">

    <attribute name="localId"
               description="If automatic port allocation is enabled, ChannelSocket will allocate ports sequentially. This is the sequence number"
               type="java.lang.Integer"/>

    <attribute name="jkHome"
               description="Base directory for jk"
               type="java.lang.String"/>

    <attribute name="managedResource"
               description="Access to the object"
               type="java.lang.Object" writeable="false" />

    <attribute name="handlersObjectName"
               description="List of all jk handlers"
               type="[Ljavax.management.ObjectName;"/>

    <operation name="addHandler"
               description="add a jk component"
               returnType="void">
      <parameter name="name"
                 description="local name"
                 type="java.lang.String"/>
      <parameter name="handler"
                 description="handler"
                 type="org.apache.jk.core.JkHandler"/>
    </operation>

  </mbean>

  <!-- Native connectors -->
  <mbean name="JkAjp13"
         description="native Ajp13 connector"
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.ajp13">

    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

    <attribute name="lb_factor"
               description=""
               type="java.lang.Integer"/>
    <attribute name="lb_value"
               description=""
               type="java.lang.Integer"/>
    <attribute name="epCount"
               description=""
               type="java.lang.Integer"/>
    <attribute name="graceful"
               description=""
               type="java.lang.Integer"/>

    <attribute name="route"
               description=""
               type="java.lang.String"/>

  </mbean>

  <mbean name="JkChannelSocket"
         description="native Ajp13 connector"
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.channel.socket">

    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

  </mbean>

  <mbean name="JkWorkerEnv" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.workerEnv">

    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

  </mbean>

  <mbean name="JkLoggerApache2" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.logger.apache2">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkUriMap" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.uriMap">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkConfig" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.config">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

    <attribute name="file"
               description="Config file"
               type="java.lang.String"/>

  </mbean>
  <mbean name="JkShm" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.shm">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>
  <mbean name="JkUri" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.uri">

    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

    <attribute name="host"
               description="Uri components"
               type="java.lang.String"/>
    <attribute name="uri"
               description="Uri"
               type="java.lang.String"/>
    <attribute name="path"
               description="Uri"
               type="java.lang.String"/>

  </mbean>

  <mbean name="JkVm" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.vm">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkChannelUn" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.channel.un">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkChannelJni" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.channel.jni">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkWorkerJni" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.worker.jni">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkStatus" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.status">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>
  <mbean name="JkHandlerResponse" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.handler.response">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>
  <mbean name="JkHandlerLogon" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.handler.logon">
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>


  </mbean>

  <mbean name="JkLb" 
         description=""
         domain="Catalina"
         group="Jk"
         type="org.apache.jk.modjk.lb">
   
    <attribute name="Id"
               description="Internal id"
               type="java.lang.String"/>

    <attribute name="disabled"
               description="State"
               type="java.lang.Integer"/>

    <attribute name="ver"
               description="Generation"
               type="java.lang.Integer"/>

    <attribute name="debug"
               description="Debug level"
               type="java.lang.Integer"/>

  </mbean>



</mbeans-descriptors>
