JMXAccessorInvokeTask (Apache Tomcat 10.1.2 API Documentation)

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addArg​(Arg arg)` |
    `List<Arg>` | `getArgs()` |
    `String` | `getOperation()` |
    `String` | `jmxExecute​(MBeanServerConnection jmxServerConnection)` | Execute the specified command, based on the configured properties.
    `protected String` | `jmxInvoke​(MBeanServerConnection jmxServerConnection, String name)` | Invoke specified operation.
    `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

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

      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

    - #### jmxInvoke

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

      Invoke specified operation.
      Parameters:
        `jmxServerConnection` - Connection to the JMX server
        `name` - The MBean name
      Returns:
        null (no error message to report other than exception)
      Throws:
        `Exception` - An error occurred