org.apache.catalina.ant.jmx

## Class JMXAccessorQueryTask

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.catalina.ant.BaseRedirectorHelperTask
      - - org.apache.catalina.ant.jmx.JMXAccessorTask
        - - org.apache.catalina.ant.jmx.JMXAccessorQueryTask

- All Implemented Interfaces:
    Cloneable

      public class JMXAccessorQueryTask
      extends JMXAccessorTask

  Query for Mbeans.
  - open no existing JSR 160 rmi jmx connection
  - Get all Mbeans attributes
  - Get only the Query Mbeans ObjectNames
  - Show query result as Ant console log
  - Bind query result as Ant properties
  Query a list of Mbeans.

         <jmxQuery
                 host="127.0.0.1"
                 port="9014"
                 name="Catalina:type=Manager,*
                 resultproperty="manager" />

  with attribute attributebinding="true" you can get all attributes also from result objects.
  The property manager.length show the size of the result and with manager.[0..length].name the resulted ObjectNames are saved. These tasks require Ant 1.6 or later interface.
  Since:
    5.5.10
  Author:
    Peter Rossbach

- - ### Field Summary

    - ### Fields inherited from class org.apache.catalina.ant.jmx.JMXAccessorTask

      `JMX_SERVICE_PREFIX, JMX_SERVICE_SUFFIX`

    - ### Fields inherited from class org.apache.catalina.ant.BaseRedirectorHelperTask

      `alwaysLog, failOnError, redirectErrStream, redirector, redirectorConfigured, redirectorElement, redirectOutput, redirectOutStream`

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JMXAccessorQueryTask()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `bindAttributes(MBeanServerConnection jmxServerConnection, String resultproperty, String pname, ObjectName oname)`
    `String` | `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
    `boolean` | `isAttributebinding()`
    `String` | `jmxExecute(MBeanServerConnection jmxServerConnection)` Execute the specified command, based on the configured properties.
    `protected String` | `jmxQuery(MBeanServerConnection jmxServerConnection, String qry)` Call Mbean server for some mbeans with same domain, attributes.
    `void` | `setAttributebinding(boolean attributeBinding)`

    - ### Methods inherited from class org.apache.catalina.ant.jmx.JMXAccessorTask

      `accessJMXConnection, convertStringToType, createJMXConnection, createProperty, createProperty, echoResult, execute, getDelimiter, getHost, getIf, getJMXConnection, getName, getPassword, getPort, getProperty, getRef, getResultproperty, getUnless, getUrl, getUsername, isEcho, isSeparatearrayresults, isUseRef, setDelimiter, setEcho, setHost, setIf, setName, setPassword, setPort, setProperty, setRef, setResultproperty, setSeparatearrayresults, setUnless, setUrl, setUsername, testIfCondition, testUnlessCondition`

    - ### Methods inherited from class org.apache.catalina.ant.BaseRedirectorHelperTask

      `addConfiguredRedirector, closeRedirector, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, handleOutput, isFailOnError, openRedirector, setAlwaysLog, setAppend, setCreateEmptyFiles, setError, setErrorProperty, setFailonerror, setLogError, setOutput, setOutputproperty`

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleInput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JMXAccessorQueryTask

          public JMXAccessorQueryTask()

  - ### Method Detail

    - #### getInfo

          public String getInfo()

      Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
      Overrides:
        `getInfo` in class `JMXAccessorTask`

    - #### isAttributebinding

          public boolean isAttributebinding()

      Returns:
        Returns the attributebinding.

    - #### setAttributebinding

          public void setAttributebinding(boolean attributeBinding)

      Parameters:
        `attributeBinding` - The attributebinding to set.

    - #### jmxExecute

          public String jmxExecute(MBeanServerConnection jmxServerConnection)
                            throws Exception

      Execute the specified command, based on the configured properties. The input stream will be closed upon completion of this task, whether it was executed successfully or not.
      Overrides:
        `jmxExecute` in class `JMXAccessorTask`
      Throws:
        `Exception` - if an error occurs

    - #### jmxQuery

          protected String jmxQuery(MBeanServerConnection jmxServerConnection,
                        String qry)

      Call Mbean server for some mbeans with same domain, attributes. with attributebinding=true you can save all attributes from all found objects as your ant properties
      Parameters:
        `jmxServerConnection` -
        `qry` -
      Returns:
        The query result

    - #### bindAttributes

          protected void bindAttributes(MBeanServerConnection jmxServerConnection,
                            String resultproperty,
                            String pname,
                            ObjectName oname)

      Parameters:
        `jmxServerConnection` -
        `resultproperty` -
        `pname` -
        `oname` -

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.