org.apache.catalina.ant.jmx

## Class JMXAccessorInvokeTask

- 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.JMXAccessorInvokeTask

All Implemented Interfaces:
  Cloneable

    public class JMXAccessorInvokeTask
    extends JMXAccessorTask

Access JMX JSR 160 MBeans Server.

- open more then one JSR 160 rmi connection
- Get/Set Mbeans attributes
- Call Mbean Operation with arguments
- Argument values can be converted from string to int,long,float,double,boolean,ObjectName or InetAddress
- Query Mbeans
- Show Get, Call, Query result at Ant console log
- Bind Get, Call, Query result at Ant properties

Examples:

- Get a session attribute hello from session with ref ${sessionid.0} form app Catalina:type=Manager,context=/ClusterTest,host=localhost

         <jmx:invoke
                 name="Catalina:type=Manager,context=/ClusterTest,host=localhost"
                 operation="getSessionAttribute"
                 resultproperty="hello">
               <arg value="${sessionid.0}"/>
               <arg value="Hello"/>
         </jmx:invoke>

- Create new AccessLogger at localhost `<jmx:invoke name="Catalina:type=MBeanFactory" operation="createAccessLoggerValve" resultproperty="accessLoggerObjectName" > <arg value="Catalina:type=Host,host=localhost"/> </jmx:invoke>`
- Remove existing AccessLogger at localhost `<jmx:invoke name="Catalina:type=MBeanFactory" operation="removeValve" > <arg value="Catalina:type=Valve,name=AccessLogValve,host=localhost"/> </jmx:invoke>`

First call to a remote MBeanserver save the JMXConnection a referenz jmx.server

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
`JMXAccessorInvokeTask()`

### Method Summary

Methods
`void` `addArg(Arg arg)`
`List<Arg>` `getArgs()`
`String` `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
`String` `getOperation()`
`String` `jmxExecute(MBeanServerConnection jmxServerConnection)` Execute the specified command, based on the configured properties.
`protected String` `jmxInvoke(MBeanServerConnection jmxServerConnection, String name)`
`void` `setArgs(List<Arg> args)`
`void` `setOperation(String operation)`

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

#### JMXAccessorInvokeTask

    public JMXAccessorInvokeTask()

### 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`

#### getOperation

    public String getOperation()

Returns:
  Returns the operation.

#### setOperation

    public void setOperation(String operation)

Parameters:
  `operation` - The operation to set.

#### addArg

    public void addArg(Arg arg)

#### getArgs

    public List<Arg> getArgs()

Returns:
  Returns the args.

#### setArgs

    public void setArgs(List<Arg> args)

Parameters:
  `args` - The args 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:
  `org.apache.tools.ant.BuildException` - if an error occurs
  `Exception` - if an error occurs

#### jmxInvoke

    protected String jmxInvoke(MBeanServerConnection jmxServerConnection,
                   String name)
                        throws Exception

Parameters:
  `jmxServerConnection` -
Throws:
  `Exception`