org.apache.catalina.ant.jmx |
This package contains a set of JMX Task implementations for
Ant (version 1.6 or later) that can be used to interact with the
Remote JMX JSR 160 RMI Adaptor to get/set attributes, invoke MBean operations
and query for Mbeans inside a running instance of Tomcat. For more information, see
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/monitoring.html.
Each task element can open a new jmx connection or reference an
existing one. The following attribute are exists in every tasks:
Attribute |
Description |
url |
The JMX Connection URL of the remote Tomcat MBeansServer.
|
username |
The username of a MBeanServer auth, when configured.
|
password |
The password of a MBeanServer auth, when configured.
|
host |
The JMX Connection host.
|
port |
The JMX Connection port.
|
ref |
The name of the ant internal reference for a jmx connection.
|
NOTE - This Tasks only work,
when JSR 160 MBean Adaptor as remote jvm is configured.
|
Java Source File Name | Type | Comment |
Arg.java | Class | author: Peter Rossbach version: $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. |
JMXAccessorCondition.java | Class | Definition:
<path id="catalina_ant">
<fileset dir="${catalina.home}/server/lib">
<include name="catalina-ant.jar"/>
<include name="catalina-ant-jmx.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="<"
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 (>)
- >= greater than or equals (>=)
- < lesser than (<)
- <= lesser than or equals (<=)
NOTE: For numeric expressions the type must be set and use xml entities as operations.
As type we currently support long and double.
author: Peter Rossbach version: $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. |
JMXAccessorCreateTask.java | Class | Create new MBean at JMX JSR 160 MBeans Server. |
JMXAccessorEqualsCondition.java | Class | Definition
<path id="catalina_ant">
<fileset dir="${catalina.home}/server/lib">
<include name="catalina-ant.jar"/>
<include name="catalina-ant-jmx.jar"/>
</fileset>
</path>
<typedef
name="jmxEquals"
classname="org.apache.catalina.ant.jmx.JMXAccessorEqualsCondition"
classpathref="catalina_ant"/>
usage: Wait for start backup node
<target name="wait">
<waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" >
<and>
<socket server="${server.name}" port="${server.port}"/>
<http url="${url}"/>
<jmxEquals
host="localhost" port="9014" username="controlRole" password="tomcat"
name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
attribute="connected" value="true"
/>
</and>
</waitfor>
<fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" />
<echo message="Server ${url} alive" />
</target>
author: Peter Rossbach version: $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. |
JMXAccessorGetTask.java | Class | Access JMX JSR 160 MBeans Server. |
JMXAccessorInvokeTask.java | Class | Access JMX JSR 160 MBeans Server. |
JMXAccessorQueryTask.java | Class | Query for Mbeans. |
JMXAccessorSetTask.java | Class | Access JMX JSR 160 MBeans Server. |
JMXAccessorTask.java | Class | 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: open server with reference and autorisation
<jmxOpen
host="127.0.0.1"
port="9014"
username="monitorRole"
password="mysecret"
ref="jmx.myserver"
/>
All calls after opening with same refid reuse the connection.
First call to a remote MBeanserver save the JMXConnection a referenz
jmx.server
All JMXAccessorXXXTask support the attribute if and
unless. |
JMXAccessorUnregisterTask.java | Class | unregister a MBean at JMX JSR 160 MBeans Server. |