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

## Method Summary

Modifier and Type
Method
Description
`void`
`addArg(Arg arg)`
`List<Arg>`
`getArgs()`
`String`
`getClassLoader()`
`String`
`getClassName()`
`protected void`
`jmxCreate(MBeanServerConnection jmxServerConnection, String name)`
Create new MBean from ClassLoader identified by an 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 Details

### JMXAccessorCreateTask

public JMXAccessorCreateTask()

## Method Details

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

### jmxCreate

protected void jmxCreate(MBeanServerConnection jmxServerConnection, String name) throws Exception
Create new MBean from ClassLoader identified by an ObjectName.

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