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.lenght 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
`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` -