Package org.apache.catalina.mbeans

## Class MBeanFactory

- java.lang.Object
- - org.apache.catalina.mbeans.MBeanFactory

    public class MBeanFactory
    extends Object

Author:
  Amy Roh

### Field Summary

Fields
`protected static StringManager` `sm`

### Constructor Summary

Constructors
`MBeanFactory()`

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `createAjpConnector​(String parent, String address, int port)` Create a new AjpConnector
`String` `createDataSourceRealm​(String parent, String dataSourceName, String roleNameCol, String userCredCol, String userNameCol, String userRoleTable, String userTable)` Create a new DataSource Realm.
`String` `createHttpConnector​(String parent, String address, int port)` Create a new HttpConnector
`String` `createHttpsConnector​(String parent, String address, int port)` Create a new HttpsConnector
`String` `createJNDIRealm​(String parent)` Create a new JNDI Realm.
`String` `createMemoryRealm​(String parent)` Create a new Memory Realm.
`String` `createStandardContext​(String parent, String path, String docBase)` Create a new StandardContext.
`String` `createStandardContext​(String parent, String path, String docBase, boolean xmlValidation, boolean xmlNamespaceAware)` Create a new StandardContext.
`String` `createStandardHost​(String parent, String name, String appBase, boolean autoDeploy, boolean deployOnStartup, boolean deployXML, boolean unpackWARs)` Create a new StandardHost.
`String` `createStandardManager​(String parent)` Create a new StandardManager.
`String` `createStandardServiceEngine​(String domain, String defaultHost, String baseDir)` Creates a new StandardService and StandardEngine.
`String` `createUserDatabaseRealm​(String parent, String resourceName)` Create a new UserDatabaseRealm.
`String` `createValve​(String className, String parent)` Create a new Valve and associate it with a `Container`.
`String` `createWebappLoader​(String parent)` Create a new Web Application Loader.
`void` `removeConnector​(String name)` Remove an existing Connector.
`void` `removeContext​(String contextName)` Remove an existing Context.
`void` `removeHost​(String name)` Remove an existing Host.
`void` `removeLoader​(String name)` Remove an existing Loader.
`void` `removeManager​(String name)` Remove an existing Manager.
`void` `removeRealm​(String name)` Remove an existing Realm.
`void` `removeService​(String name)` Remove an existing Service.
`void` `removeValve​(String name)` Remove an existing Valve.
`void` `setContainer​(Object container)` Set the container that this factory was created for.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### sm

    protected static final StringManager sm

### Constructor Detail

#### MBeanFactory

    public MBeanFactory()

### Method Detail

#### setContainer

    public void setContainer​(Object container)

Set the container that this factory was created for.

Parameters:
  `container` - The associated container

#### createAjpConnector

    public String createAjpConnector​(String parent,
                                     String address,
                                     int port)
                              throws Exception

Create a new AjpConnector

Parameters:
  `parent` - MBean Name of the associated parent component
  `address` - The IP address on which to bind
  `port` - TCP port number to listen on
Returns:
  the object name of the created connector
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createDataSourceRealm

    public String createDataSourceRealm​(String parent,
                                        String dataSourceName,
                                        String roleNameCol,
                                        String userCredCol,
                                        String userNameCol,
                                        String userRoleTable,
                                        String userTable)
                                 throws Exception

Create a new DataSource Realm.

Parameters:
  `parent` - MBean Name of the associated parent component
  `dataSourceName` - the datasource name
  `roleNameCol` - the column name for the role names
  `userCredCol` - the column name for the user credentials
  `userNameCol` - the column name for the user names
  `userRoleTable` - the table name for the roles table
  `userTable` - the table name for the users
Returns:
  the object name of the created realm
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createHttpConnector

    public String createHttpConnector​(String parent,
                                      String address,
                                      int port)
                               throws Exception

Create a new HttpConnector

Parameters:
  `parent` - MBean Name of the associated parent component
  `address` - The IP address on which to bind
  `port` - TCP port number to listen on
Returns:
  the object name of the created connector
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createHttpsConnector

    public String createHttpsConnector​(String parent,
                                       String address,
                                       int port)
                                throws Exception

Create a new HttpsConnector

Parameters:
  `parent` - MBean Name of the associated parent component
  `address` - The IP address on which to bind
  `port` - TCP port number to listen on
Returns:
  the object name of the created connector
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createJNDIRealm

    public String createJNDIRealm​(String parent)
                           throws Exception

Create a new JNDI Realm.

Parameters:
  `parent` - MBean Name of the associated parent component
Returns:
  the object name of the created realm
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createMemoryRealm

    public String createMemoryRealm​(String parent)
                             throws Exception

Create a new Memory Realm.

Parameters:
  `parent` - MBean Name of the associated parent component
Returns:
  the object name of the created realm
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createStandardContext

    public String createStandardContext​(String parent,
                                        String path,
                                        String docBase)
                                 throws Exception

Create a new StandardContext.

Parameters:
  `parent` - MBean Name of the associated parent component
  `path` - The context path for this Context
  `docBase` - Document base directory (or WAR) for this Context
Returns:
  the object name of the created context
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createStandardContext

    public String createStandardContext​(String parent,
                                        String path,
                                        String docBase,
                                        boolean xmlValidation,
                                        boolean xmlNamespaceAware)
                                 throws Exception

Create a new StandardContext.

Parameters:
  `parent` - MBean Name of the associated parent component
  `path` - The context path for this Context
  `docBase` - Document base directory (or WAR) for this Context
  `xmlValidation` - if XML descriptors should be validated
  `xmlNamespaceAware` - if the XML processor should namespace aware
Returns:
  the object name of the created context
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createStandardHost

    public String createStandardHost​(String parent,
                                     String name,
                                     String appBase,
                                     boolean autoDeploy,
                                     boolean deployOnStartup,
                                     boolean deployXML,
                                     boolean unpackWARs)
                              throws Exception

Create a new StandardHost.

Parameters:
  `parent` - MBean Name of the associated parent component
  `name` - Unique name of this Host
  `appBase` - Application base directory name
  `autoDeploy` - Should we auto deploy?
  `deployOnStartup` - Deploy on server startup?
  `deployXML` - Should we deploy Context XML config files property?
  `unpackWARs` - Should we unpack WARs when auto deploying?
Returns:
  the object name of the created host
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createStandardServiceEngine

    public String createStandardServiceEngine​(String domain,
                                              String defaultHost,
                                              String baseDir)
                                       throws Exception

Creates a new StandardService and StandardEngine.

Parameters:
  `domain` - Domain name for the container instance
  `defaultHost` - Name of the default host to be used in the Engine
  `baseDir` - Base directory value for Engine
Returns:
  the object name of the created service
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createStandardManager

    public String createStandardManager​(String parent)
                                 throws Exception

Create a new StandardManager.

Parameters:
  `parent` - MBean Name of the associated parent component
Returns:
  the object name of the created manager
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createUserDatabaseRealm

    public String createUserDatabaseRealm​(String parent,
                                          String resourceName)
                                   throws Exception

Create a new UserDatabaseRealm.

Parameters:
  `parent` - MBean Name of the associated parent component
  `resourceName` - Global JNDI resource name of the associated UserDatabase
Returns:
  the object name of the created realm
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createValve

    public String createValve​(String className,
                              String parent)
                       throws Exception

Create a new Valve and associate it with a `Container`.

Parameters:
  `className` - The fully qualified class name of the `Valve` to create
  `parent` - The MBean name of the associated parent `Container`.
Returns:
  The MBean name of the `Valve` that was created or `null` if the `Valve` does not implement `JmxEnabled`.
Throws:
  `Exception` - if an MBean cannot be created or registered

#### createWebappLoader

    public String createWebappLoader​(String parent)
                              throws Exception

Create a new Web Application Loader.

Parameters:
  `parent` - MBean Name of the associated parent component
Returns:
  the object name of the created loader
Throws:
  `Exception` - if an MBean cannot be created or registered

#### removeConnector

    public void removeConnector​(String name)
                         throws Exception

Remove an existing Connector.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeContext

    public void removeContext​(String contextName)
                       throws Exception

Remove an existing Context.

Parameters:
  `contextName` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeHost

    public void removeHost​(String name)
                    throws Exception

Remove an existing Host.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeLoader

    public void removeLoader​(String name)
                      throws Exception

Remove an existing Loader.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeManager

    public void removeManager​(String name)
                       throws Exception

Remove an existing Manager.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeRealm

    public void removeRealm​(String name)
                     throws Exception

Remove an existing Realm.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeService

    public void removeService​(String name)
                       throws Exception

Remove an existing Service.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed

#### removeValve

    public void removeValve​(String name)
                     throws Exception

Remove an existing Valve.

Parameters:
  `name` - MBean Name of the component to remove
Throws:
  `Exception` - if a component cannot be removed