JMXAccessorCondition (Apache Tomcat 7.0.96 API Documentation)

org.apache.catalina.ant.jmx

## Class JMXAccessorCondition

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.catalina.ant.jmx.JMXAccessorCondition

- All Implemented Interfaces:
    java.lang.Cloneable, org.apache.tools.ant.taskdefs.condition.Condition

      public class JMXAccessorCondition
      extends org.apache.tools.ant.ProjectComponent
      implements org.apache.tools.ant.taskdefs.condition.Condition

  Definition:

         <path id="catalina_ant">
             <fileset dir="${catalina.home}/server/lib">
                 <include name="catalina-ant.jar"/>
             </fileset>
         </path>

         <typedef
             name="jmxCondition"
             classname="org.apache.catalina.ant.jmx.JMXAccessorCondition"
             classpathref="catalina_ant"/>
         <taskdef
             name="jmxOpen"
             classname="org.apache.catalina.ant.jmx.JMXAccessorTask"
             classpathref="catalina_ant"/>

  Usage: Wait for start backup node

           <target name="wait">
             <jmxOpen
                     host="${jmx.host}" port="${jmx.port}" username="${jmx.username}" password="${jmx.password}" />
              <waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" >
                 <and>
                     <socket server="${server.name}" port="${server.port}"/>
                     <http url="${url}"/>
                     <jmxCondition
                         name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
                         operation="=="
                         attribute="connected" value="true"
                     />
                     <jmxCondition
                         operation="&lt;"
                         name="Catalina:j2eeType=WebModule,name=//${tomcat.application.host}${tomcat.application.path},J2EEApplication=none,J2EEServer=none"
                         attribute="startupTime" value="250"
                     />
                 </and>
             </waitfor>
             <fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" />
             <echo message="Server ${url} alive" />
         </target>

  Allowed operation between jmx attribute and reference value:
  - == equals
  - != not equals
  - > greater than (&gt;)
  - >= greater than or equals (&gt;=)
  - < lesser than (&lt;)
  - <= lesser than or equals (&lt;=)
  NOTE: For numeric expressions the type must be set and use xml entities as operations.
  As type we currently support long and double.
  Since:
    5.5.10
  Author:
    Peter Rossbach

- - ### Field Summary

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

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JMXAccessorCondition()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.String` | `accessJMXValue()` Get value from MBeans attribute
    `boolean` | `eval()` This method evaluates the condition It support for operation ">,>=,<,<=" the types `long` and `double`.
    `java.lang.String` | `getAttribute()`
    `java.lang.String` | `getHost()`
    `java.lang.String` | `getIf()`
    `java.lang.String` | `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
    `protected javax.management.MBeanServerConnection` | `getJMXConnection()` Get JMXConnection (default look at jmx.server project reference from jmxOpen Task)
    `java.lang.String` | `getName()`
    `java.lang.String` | `getOperation()`
    `java.lang.String` | `getPassword()`
    `java.lang.String` | `getPort()`
    `java.lang.String` | `getRef()`
    `java.lang.String` | `getType()`
    `java.lang.String` | `getUnless()`
    `java.lang.String` | `getUrl()`
    `java.lang.String` | `getUsername()`
    `java.lang.String` | `getValue()`
    `void` | `setAttribute(java.lang.String attribute)`
    `void` | `setHost(java.lang.String host)`
    `void` | `setIf(java.lang.String c)` Only execute if a property of the given name exists in the current project.
    `void` | `setName(java.lang.String objectName)`
    `void` | `setOperation(java.lang.String operation)`
    `void` | `setPassword(java.lang.String password)`
    `void` | `setPort(java.lang.String port)`
    `void` | `setRef(java.lang.String refId)`
    `void` | `setType(java.lang.String type)`
    `void` | `setUnless(java.lang.String c)` Only execute if a property of the given name does not exist in the current project.
    `void` | `setUrl(java.lang.String url)`
    `void` | `setUsername(java.lang.String username)`
    `void` | `setValue(java.lang.String value)`
    `protected boolean` | `testIfCondition()` test the if condition
    `protected boolean` | `testUnlessCondition()` test the unless condition

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

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

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

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

- - ### Constructor Detail

    - #### JMXAccessorCondition

          public JMXAccessorCondition()

  - ### Method Detail

    - #### getInfo

          public java.lang.String getInfo()

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

    - #### getOperation

          public java.lang.String getOperation()

      Returns:
        Returns the operation.

    - #### setOperation

          public void setOperation(java.lang.String operation)

      Parameters:
        `operation` - The operation to set.

    - #### getType

          public java.lang.String getType()

      Returns:
        Returns the type.

    - #### setType

          public void setType(java.lang.String type)

      Parameters:
        `type` - The type to set.

    - #### getAttribute

          public java.lang.String getAttribute()

      Returns:
        Returns the attribute.

    - #### setAttribute

          public void setAttribute(java.lang.String attribute)

      Parameters:
        `attribute` - The attribute to set.

    - #### getHost

          public java.lang.String getHost()

      Returns:
        Returns the host.

    - #### setHost

          public void setHost(java.lang.String host)

      Parameters:
        `host` - The host to set.

    - #### getName

          public java.lang.String getName()

      Returns:
        Returns the name.

    - #### setName

          public void setName(java.lang.String objectName)

      Parameters:
        `objectName` - The name to set.

    - #### getPassword

          public java.lang.String getPassword()

      Returns:
        Returns the password.

    - #### setPassword

          public void setPassword(java.lang.String password)

      Parameters:
        `password` - The password to set.

    - #### getPort

          public java.lang.String getPort()

      Returns:
        Returns the port.

    - #### setPort

          public void setPort(java.lang.String port)

      Parameters:
        `port` - The port to set.

    - #### getUrl

          public java.lang.String getUrl()

      Returns:
        Returns the url.

    - #### setUrl

          public void setUrl(java.lang.String url)

      Parameters:
        `url` - The url to set.

    - #### getUsername

          public java.lang.String getUsername()

      Returns:
        Returns the username.

    - #### setUsername

          public void setUsername(java.lang.String username)

      Parameters:
        `username` - The username to set.

    - #### getValue

          public java.lang.String getValue()

      Returns:
        Returns the value.

    - #### setValue

          public void setValue(java.lang.String value)

    - #### getRef

          public java.lang.String getRef()

      Returns:
        Returns the ref.

    - #### setRef

          public void setRef(java.lang.String refId)

      Parameters:
        `refId` - The ref to set.

    - #### getIf

          public java.lang.String getIf()

      Returns:
        Returns the ifCondition.

    - #### setIf

          public void setIf(java.lang.String c)

      Only execute if a property of the given name exists in the current project.
      Parameters:
        `c` - property name

    - #### getUnless

          public java.lang.String getUnless()

      Returns:
        Returns the unlessCondition.

    - #### setUnless

          public void setUnless(java.lang.String c)

      Only execute if a property of the given name does not exist in the current project.
      Parameters:
        `c` - property name

    - #### getJMXConnection

          protected javax.management.MBeanServerConnection getJMXConnection()
                                                                     throws java.net.MalformedURLException,
                                                                            java.io.IOException

      Get JMXConnection (default look at jmx.server project reference from jmxOpen Task)
      Returns:
        active JMXConnection
      Throws:
        `java.net.MalformedURLException`
        `java.io.IOException`

    - #### accessJMXValue

          protected java.lang.String accessJMXValue()

      Get value from MBeans attribute
      Returns:
        The value

    - #### testIfCondition

          protected boolean testIfCondition()

      test the if condition
      Returns:
        true if there is no if condition, or the named property exists

    - #### testUnlessCondition

          protected boolean testUnlessCondition()

      test the unless condition
      Returns:
        true if there is no unless condition, or there is a named property but it doesn't exist

    - #### eval

          public boolean eval()

      This method evaluates the condition It support for operation ">,>=,<,<=" the types `long` and `double`.
      Specified by:
        `eval` in interface `org.apache.tools.ant.taskdefs.condition.Condition`
      Returns:
        expression jmxValue operation value

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