Package org.apache.catalina.ant.jmx
Class JMXAccessorTask
- java.lang.Object
- 
- org.apache.tools.ant.ProjectComponent
- 
- org.apache.tools.ant.Task
- 
- org.apache.catalina.ant.BaseRedirectorHelperTask
- 
- org.apache.catalina.ant.jmx.JMXAccessorTask
 
 
 
 
- 
- All Implemented Interfaces:
- java.lang.Cloneable
 - Direct Known Subclasses:
- JMXAccessorCreateTask,- JMXAccessorGetTask,- JMXAccessorInvokeTask,- JMXAccessorQueryTask,- JMXAccessorSetTask,- JMXAccessorUnregisterTask
 
 public class JMXAccessorTask extends BaseRedirectorHelperTask 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
 <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. With if the task is only execute when property exist and with unless when property not exists.
 NOTE : These tasks require Ant 1.6 or later interface.- Since:
- 5.5.10
- Author:
- Peter Rossbach
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringJMX_SERVICE_PREFIXstatic java.lang.StringJMX_SERVICE_SUFFIX- 
Fields inherited from class org.apache.catalina.ant.BaseRedirectorHelperTaskalwaysLog, failOnError, redirectErrStream, redirector, redirectorConfigured, redirectorElement, redirectOutput, redirectOutStream
 
- 
 - 
Constructor SummaryConstructors Constructor Description JMXAccessorTask()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static javax.management.MBeanServerConnectionaccessJMXConnection(org.apache.tools.ant.Project project, java.lang.String url, java.lang.String host, java.lang.String port, java.lang.String username, java.lang.String password, java.lang.String refId)Get Current Connection from ref parameter or create a new one!protected java.lang.ObjectconvertStringToType(java.lang.String value, java.lang.String valueType)Convert string to datatype FIXME How we can transfer values from ant project reference store (ref)?static javax.management.MBeanServerConnectioncreateJMXConnection(java.lang.String url, java.lang.String host, java.lang.String port, java.lang.String username, java.lang.String password)Create a new JMX Connection with auth when username and password is set.protected voidcreateProperty(java.lang.Object result)create result as property with name from attribute resultpropertyprotected voidcreateProperty(java.lang.String propertyPrefix, java.lang.Object result)create result as property with name from property prefix When result is an array and isSeparateArrayResults is true, resultproperty used as prefix (resultproperty.0-array.lengthand store the result array length atresultproperty.length.protected voidechoResult(java.lang.String name, java.lang.Object result)voidexecute()Execute the specified command.java.lang.StringgetDelimiter()java.lang.StringgetHost()java.lang.StringgetIf()protected javax.management.MBeanServerConnectiongetJMXConnection()get JMXConnectionjava.lang.StringgetName()Get the name used at remote MbeanServer.java.lang.StringgetPassword()java.lang.StringgetPort()java.lang.StringgetProperty(java.lang.String property)Get Propertyjava.lang.StringgetRef()java.lang.StringgetResultproperty()java.lang.StringgetUnless()java.lang.StringgetUrl()java.lang.StringgetUsername()booleanisEcho()booleanisSeparatearrayresults()booleanisUseRef()java.lang.StringjmxExecute(javax.management.MBeanServerConnection jmxServerConnection)Execute the specified command, based on the configured properties.voidsetDelimiter(java.lang.String separator)voidsetEcho(boolean echo)voidsetHost(java.lang.String host)voidsetIf(java.lang.String c)Only execute if a property of the given name exists in the current project.voidsetName(java.lang.String objectName)voidsetPassword(java.lang.String password)voidsetPort(java.lang.String port)booleansetProperty(java.lang.String property, java.lang.Object value)voidsetRef(java.lang.String refId)voidsetResultproperty(java.lang.String propertyName)voidsetSeparatearrayresults(boolean separateArrayResults)voidsetUnless(java.lang.String c)Only execute if a property of the given name does not exist in the current project.voidsetUrl(java.lang.String url)voidsetUsername(java.lang.String username)protected booleantestIfCondition()test the if conditionprotected booleantestUnlessCondition()test the unless condition- 
Methods inherited from class org.apache.catalina.ant.BaseRedirectorHelperTaskaddConfiguredRedirector, 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.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleInput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
- 
 
- 
- 
- 
Field Detail- 
JMX_SERVICE_PREFIXpublic static final java.lang.String JMX_SERVICE_PREFIX - See Also:
- Constant Field Values
 
 - 
JMX_SERVICE_SUFFIXpublic static final java.lang.String JMX_SERVICE_SUFFIX - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getNamepublic java.lang.String getName() Get the name used at remote MbeanServer.- Returns:
- the name used at remote MbeanServer
 
 - 
setNamepublic void setName(java.lang.String objectName) 
 - 
getResultpropertypublic java.lang.String getResultproperty() - Returns:
- Returns the resultproperty.
 
 - 
setResultpropertypublic void setResultproperty(java.lang.String propertyName) - Parameters:
- propertyName- The resultproperty to set.
 
 - 
getDelimiterpublic java.lang.String getDelimiter() - Returns:
- Returns the delimiter.
 
 - 
setDelimiterpublic void setDelimiter(java.lang.String separator) - Parameters:
- separator- The delimiter to set.
 
 - 
isEchopublic boolean isEcho() - Returns:
- Returns the echo.
 
 - 
setEchopublic void setEcho(boolean echo) - Parameters:
- echo- The echo to set.
 
 - 
isSeparatearrayresultspublic boolean isSeparatearrayresults() - Returns:
- Returns the separatearrayresults.
 
 - 
setSeparatearrayresultspublic void setSeparatearrayresults(boolean separateArrayResults) - Parameters:
- separateArrayResults- The separatearrayresults to set.
 
 - 
getPasswordpublic java.lang.String getPassword() - Returns:
- The login password for the Managerapplication.
 
 - 
setPasswordpublic void setPassword(java.lang.String password) 
 - 
getUsernamepublic java.lang.String getUsername() - Returns:
- The login username for the JMXMBeanServer.
 
 - 
setUsernamepublic void setUsername(java.lang.String username) 
 - 
getUrlpublic java.lang.String getUrl() - Returns:
- The URL of the JMX JSR 160MBeanServer to be used.
 
 - 
setUrlpublic void setUrl(java.lang.String url) 
 - 
getHostpublic java.lang.String getHost() - Returns:
- The Host of the JMX JSR 160MBeanServer to be used.
 
 - 
setHostpublic void setHost(java.lang.String host) 
 - 
getPortpublic java.lang.String getPort() - Returns:
- The Port of the JMX JSR 160MBeanServer to be used.
 
 - 
setPortpublic void setPort(java.lang.String port) 
 - 
isUseRefpublic boolean isUseRef() - Returns:
- Returns the useRef.
 
 - 
getRefpublic java.lang.String getRef() - Returns:
- Returns the ref.
 
 - 
setRefpublic void setRef(java.lang.String refId) - Parameters:
- refId- The ref to set.
 
 - 
getIfpublic java.lang.String getIf() - Returns:
- Returns the ifCondition.
 
 - 
setIfpublic void setIf(java.lang.String c) Only execute if a property of the given name exists in the current project.- Parameters:
- c- property name
 
 - 
getUnlesspublic java.lang.String getUnless() - Returns:
- Returns the unlessCondition.
 
 - 
setUnlesspublic 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
 
 - 
executepublic void execute() throws org.apache.tools.ant.BuildExceptionExecute the specified command. This logic only performs the common attribute validation required by all subclasses; it does not perform any functional logic directly.- Overrides:
- executein class- org.apache.tools.ant.Task
- Throws:
- org.apache.tools.ant.BuildException- if a validation error occurs
 
 - 
createJMXConnectionpublic static javax.management.MBeanServerConnection createJMXConnection(java.lang.String url, java.lang.String host, java.lang.String port, java.lang.String username, java.lang.String password) throws java.net.MalformedURLException, java.io.IOExceptionCreate a new JMX Connection with auth when username and password is set.- Parameters:
- url- URL to be used for the JMX connection (if specified, it is a complete URL so host and port will not be used)
- host- Host name of the JMX server
- port- Port number for the JMX server
- username- User name for the connection
- password- Credentials corresponding to the specified user
- Returns:
- the JMX connection
- Throws:
- java.net.MalformedURLException- Invalid URL specified
- java.io.IOException- Other connection error
 
 - 
testIfConditionprotected boolean testIfCondition() test the if condition- Returns:
- true if there is no if condition, or the named property exists
 
 - 
testUnlessConditionprotected 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
 
 - 
accessJMXConnectionpublic static javax.management.MBeanServerConnection accessJMXConnection(org.apache.tools.ant.Project project, java.lang.String url, java.lang.String host, java.lang.String port, java.lang.String username, java.lang.String password, java.lang.String refId) throws java.net.MalformedURLException, java.io.IOExceptionGet Current Connection from ref parameter or create a new one!- Parameters:
- project- The Ant project
- url- URL to be used for the JMX connection (if specified, it is a complete URL so host and port will not be used)
- host- Host name of the JMX server
- port- Port number for the JMX server
- username- User name for the connection
- password- Credentials corresponding to the specified user
- refId- The Id of the reference to retrieve in the project
- Returns:
- the JMX connection
- Throws:
- java.net.MalformedURLException- Invalid URL specified
- java.io.IOException- Other connection error
 
 - 
getJMXConnectionprotected javax.management.MBeanServerConnection getJMXConnection() throws java.net.MalformedURLException, java.io.IOExceptionget JMXConnection- Returns:
- the JMX connection
- Throws:
- java.net.MalformedURLException- Invalid URL specified
- java.io.IOException- Other connection error
 
 - 
jmxExecutepublic java.lang.String jmxExecute(javax.management.MBeanServerConnection jmxServerConnection) throws java.lang.ExceptionExecute 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.- Parameters:
- jmxServerConnection- The JMX connection that should be used
- Returns:
- An error message string in some situations
- Throws:
- java.lang.Exception- if an error occurs
 
 - 
convertStringToTypeprotected java.lang.Object convertStringToType(java.lang.String value, java.lang.String valueType)Convert string to datatype FIXME How we can transfer values from ant project reference store (ref)?- Parameters:
- value- The value
- valueType- The type
- Returns:
- The converted object
 
 - 
echoResultprotected void echoResult(java.lang.String name, java.lang.Object result)- Parameters:
- name- context of result
- result- The result
 
 - 
createPropertyprotected void createProperty(java.lang.Object result) create result as property with name from attribute resultproperty- Parameters:
- result- The result
- See Also:
- createProperty(String, Object)
 
 - 
createPropertyprotected void createProperty(java.lang.String propertyPrefix, java.lang.Object result)create result as property with name from property prefix When result is an array and isSeparateArrayResults is true, resultproperty used as prefix (resultproperty.0-array.lengthand store the result array length atresultproperty.length. Other option is that you delimit your result with a delimiter (java.util.StringTokenizer is used).- Parameters:
- propertyPrefix- Prefix for the property
- result- The result
 
 - 
getPropertypublic java.lang.String getProperty(java.lang.String property) Get Property- Parameters:
- property- name
- Returns:
- The property value
 
 - 
setPropertypublic boolean setProperty(java.lang.String property, java.lang.Object value)- Parameters:
- property- The property
- value- The value
- Returns:
- True if successful
 
 
- 
 
-