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:
  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
Constructor and Description
`JMXAccessorCreateTask()`

### Method Summary

Methods
`void` `addArg(Arg arg)`
`List<Arg>` `getArgs()`
`String` `getClassLoader()`
`String` `getClassName()`
`String` `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
`protected String` `jmxCreate(MBeanServerConnection jmxServerConnection, String name)` create new Mbean and when set from ClassLoader Objectname
`String` `jmxExecute(MBeanServerConnection jmxServerConnection)` Execute the specified command, based on the configured properties.
`void` `setArgs(List<Arg> args)`
`void` `setClassLoader(String classLoaderName)`
`void` `setClassName(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

#### getInfo

    public String getInfo()

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

Overrides:
  `getInfo` in class `JMXAccessorTask`
Returns:
  Returns the class info.

#### getClassLoader

    public String getClassLoader()

Returns:
  Returns the classLoader.

#### setClassLoader

    public void setClassLoader(String classLoaderName)

Parameters:
  `classLoaderName` - The classLoader to set.

#### getClassName

    public String getClassName()

Returns:
  Returns the className.

#### setClassName

    public void setClassName(String className)

Parameters:
  `className` - The className to set.

#### addArg

    public void addArg(Arg arg)

#### getArgs

    public List<Arg> getArgs()

Returns:
  Returns the args.

#### setArgs

    public void setArgs(List<Arg> args)

Parameters:
  `args` - The args to set.

#### jmxExecute

    public String jmxExecute(MBeanServerConnection jmxServerConnection)
                      throws Exception

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`
Throws:
  `Exception` - if an error occurs

#### jmxCreate

    protected String jmxCreate(MBeanServerConnection jmxServerConnection,
                   String name)
                        throws Exception

create new Mbean and when set from ClassLoader Objectname

Parameters:
  `jmxServerConnection` -
  `name` -
Returns:
  The value of the given named attribute
Throws:
  `Exception`