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