Package org.apache.catalina.ant.jmx

## Class JMXAccessorCreateTask

- 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.JMXAccessorCreateTask

All Implemented Interfaces:
  `java.lang.Cloneable`

    public class JMXAccessorCreateTask
    extends JMXAccessorTask

Create new MBean at JMX JSR 160 MBeans Server.

- Create Mbeans
- Create Mbeans with parameter
- Create remote Mbeans with different classloader

Examples:
create a new Mbean at jmx.server connection

       <jmx:create
               ref="jmx.server"
               name="Catalina:type=MBeanFactory"
               className="org.apache.catalina.mbeans.MBeanFactory"
               classLoader="Catalina:type=ServerClassLoader,name=server">
                <Arg value="org.apache.catalina.mbeans.MBeanFactory" />
       </jmxCreate/>

WARNINGNot all Tomcat MBeans can create remotely and autoregister by its parents! Please, use the MBeanFactory operation to generate valves and realms.

First call to a remote MBeanserver save the JMXConnection a reference jmx.server

These tasks require Ant 1.6 or later interface.

Since:
  5.5.12
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
`JMXAccessorCreateTask()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addArg​(Arg arg)`
`java.util.List<Arg>` `getArgs()`
`java.lang.String` `getClassLoader()`
`java.lang.String` `getClassName()`
`protected void` `jmxCreate​(javax.management.MBeanServerConnection jmxServerConnection, java.lang.String name)` Create new MBean from ClassLoader identified by an ObjectName.
`java.lang.String` `jmxExecute​(javax.management.MBeanServerConnection jmxServerConnection)` Execute the specified command, based on the configured properties.
`void` `setArgs​(java.util.List<Arg> args)`
`void` `setClassLoader​(java.lang.String classLoaderName)`
`void` `setClassName​(java.lang.String className)`

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

#### JMXAccessorCreateTask

    public JMXAccessorCreateTask()

### Method Detail

#### getClassLoader

    public java.lang.String getClassLoader()

Returns:
  Returns the classLoader.

#### setClassLoader

    public void setClassLoader​(java.lang.String classLoaderName)

Parameters:
  `classLoaderName` - The classLoader to set.

#### getClassName

    public java.lang.String getClassName()

Returns:
  Returns the className.

#### setClassName

    public void setClassName​(java.lang.String className)

Parameters:
  `className` - The className to set.

#### addArg

    public void addArg​(Arg arg)

#### getArgs

    public java.util.List<Arg> getArgs()

Returns:
  Returns the args.

#### setArgs

    public void setArgs​(java.util.List<Arg> args)

Parameters:
  `args` - The args to set.

#### jmxExecute

    public java.lang.String jmxExecute​(javax.management.MBeanServerConnection jmxServerConnection)
                                throws java.lang.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:
  `java.lang.Exception` - if an error occurs

#### jmxCreate

    protected void jmxCreate​(javax.management.MBeanServerConnection jmxServerConnection,
                             java.lang.String name)
                      throws java.lang.Exception

Create new MBean from ClassLoader identified by an ObjectName.

Parameters:
  `jmxServerConnection` - Connection to the JMX server
  `name` - MBean name
Throws:
  `java.lang.Exception` - Error creating MBean