public class JMXAccessorCondition
extends org.apache.tools.ant.ProjectComponent
implements org.apache.tools.ant.taskdefs.condition.Condition
<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="<"
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:
| Constructor and Description |
|---|
JMXAccessorCondition() |
| Modifier and Type | Method and Description |
|---|---|
protected String |
accessJMXValue()
Get value from MBeans attribute
|
boolean |
eval()
This method evaluates the condition
It support for operation ">,>=,<,<=" the types
long and double. |
String |
getAttribute() |
String |
getHost() |
String |
getIf() |
String |
getInfo()
Return descriptive information about this implementation and the
corresponding version number, in the format
<description>/<version>. |
protected MBeanServerConnection |
getJMXConnection()
Get JMXConnection (default look at jmx.server project reference from jmxOpen Task)
|
String |
getName() |
String |
getOperation() |
String |
getPassword() |
String |
getPort() |
String |
getRef() |
String |
getType() |
String |
getUnless() |
String |
getUrl() |
String |
getUsername() |
String |
getValue() |
void |
setAttribute(String attribute) |
void |
setHost(String host) |
void |
setIf(String c)
Only execute if a property of the given name exists in the current project.
|
void |
setName(String objectName) |
void |
setOperation(String operation) |
void |
setPassword(String password) |
void |
setPort(String port) |
void |
setRef(String refId) |
void |
setType(String type) |
void |
setUnless(String c)
Only execute if a property of the given name does not
exist in the current project.
|
void |
setUrl(String url) |
void |
setUsername(String username) |
void |
setValue(String value) |
protected boolean |
testIfCondition()
test the if condition
|
protected boolean |
testUnlessCondition()
test the unless condition
|
public String getInfo()
<description>/<version>.public String getOperation()
public void setOperation(String operation)
operation - The operation to set.public String getType()
public void setType(String type)
type - The type to set.public String getAttribute()
public void setAttribute(String attribute)
attribute - The attribute to set.public String getHost()
public void setHost(String host)
host - The host to set.public String getName()
public void setName(String objectName)
objectName - The name to set.public String getPassword()
public void setPassword(String password)
password - The password to set.public String getPort()
public void setPort(String port)
port - The port to set.public String getUrl()
public void setUrl(String url)
url - The url to set.public String getUsername()
public void setUsername(String username)
username - The username to set.public String getValue()
public void setValue(String value)
public String getRef()
public void setRef(String refId)
refId - The ref to set.public String getIf()
public void setIf(String c)
c - property namepublic String getUnless()
public void setUnless(String c)
c - property nameprotected MBeanServerConnection getJMXConnection() throws MalformedURLException, IOException
MalformedURLExceptionIOExceptionprotected String accessJMXValue()
protected boolean testIfCondition()
protected boolean testUnlessCondition()
public boolean eval()
long and double.eval in interface org.apache.tools.ant.taskdefs.condition.ConditionCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.