# 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

## Field Summary

### Fields inherited from class JMXAccessorTask

`JMX_SERVICE_PREFIX, JMX_SERVICE_SUFFIX`

### Fields inherited from class 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
Description
`JMXAccessorQueryTask()`
Constructs a new JMXAccessorQueryTask.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`bindAttributes(MBeanServerConnection jmxServerConnection, String pname, ObjectName oname)`
Bind MBean attributes to Ant properties.
`boolean`
`isAttributebinding()`
Get the attribute binding flag.
`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. with attributebinding=true you can save all attributes from all found objects
`void`
`setAttributebinding(boolean attributeBinding)`
Set the attribute binding flag.

### Methods inherited from class 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 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 Object

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

## Constructor Details

### JMXAccessorQueryTask

public JMXAccessorQueryTask()
Constructs a new JMXAccessorQueryTask.

## Method Details

### isAttributebinding

public boolean isAttributebinding()
Get the attribute binding flag.

Returns:
  the attribute binding flag

### setAttributebinding

public void setAttributebinding(boolean attributeBinding)
Set the attribute binding flag.

Parameters:
  `attributeBinding` - the flag to set

### jmxExecute

public String jmxExecute(MBeanServerConnection jmxServerConnection) throws Exception
Description copied from class: `JMXAccessorTask`
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`
Parameters:
  `jmxServerConnection` - The JMX connection that should be used
Returns:
  An error message string in some situations
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

Parameters:
  `jmxServerConnection` - Connection to the JMX server
  `qry` - The query
Returns:
  null (no error message to report other than exception)

### bindAttributes

protected void bindAttributes(MBeanServerConnection jmxServerConnection, String pname, ObjectName oname)
Bind MBean attributes to Ant properties.

Parameters:
  `jmxServerConnection` - the JMX server connection
  `pname` - the property name prefix
  `oname` - the MBean object name