# Class MBeanUtils

java.lang.Object
org.apache.catalina.mbeans.MBeanUtils

public class MBeanUtils extends Object
Public utility methods in support of the server side MBeans implementation.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final StringManager`
`sm`

## Constructor Summary

Constructors
Constructor
Description
`MBeanUtils()`

## Method Summary

Modifier and Type
Method
Description
`static DynamicMBean`
`createMBean(ContextEnvironment environment)`
Create, register, and return an MBean for this `ContextEnvironment` object.
`static DynamicMBean`
`createMBean(ContextResource resource)`
Create, register, and return an MBean for this `ContextResource` object.
`static DynamicMBean`
`createMBean(ContextResourceLink resourceLink)`
Create, register, and return an MBean for this `ContextResourceLink` object.
`static ObjectName`
`createObjectName(String domain, ContextEnvironment environment)`
Create an `ObjectName` for this `Service` object.
`static ObjectName`
`createObjectName(String domain, ContextResource resource)`
Create an `ObjectName` for this `ContextResource` object.
`static ObjectName`
`createObjectName(String domain, ContextResourceLink resourceLink)`
Create an `ObjectName` for this `ContextResourceLink` object.
`static Registry`
`createRegistry()`
Create and configure (if necessary) and return the registry of managed object descriptions.
`static MBeanServer`
`createServer()`
Create and configure (if necessary) and return the `MBeanServer` with which we will be registering our `DynamicMBean` implementations.
`static void`
`destroyMBean(ContextEnvironment environment)`
Deregister the MBean for this `ContextEnvironment` object.
`static void`
`destroyMBean(ContextResource resource)`
Deregister the MBean for this `ContextResource` object.
`static void`
`destroyMBean(ContextResourceLink resourceLink)`
Deregister the MBean for this `ContextResourceLink` object.

### Methods inherited from class Object

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

## Field Details

### sm

protected static final StringManager sm

## Constructor Details

### MBeanUtils

public MBeanUtils()

## Method Details

### createMBean

public static DynamicMBean createMBean(ContextEnvironment environment) throws Exception
Create, register, and return an MBean for this `ContextEnvironment` object.

Parameters:
  `environment` - The ContextEnvironment to be managed
Returns:
  a new MBean
Throws:
  `Exception` - if an MBean cannot be created or registered

### createMBean

public static DynamicMBean createMBean(ContextResource resource) throws Exception
Create, register, and return an MBean for this `ContextResource` object.

Parameters:
  `resource` - The ContextResource to be managed
Returns:
  a new MBean
Throws:
  `Exception` - if an MBean cannot be created or registered

### createMBean

public static DynamicMBean createMBean(ContextResourceLink resourceLink) throws Exception
Create, register, and return an MBean for this `ContextResourceLink` object.

Parameters:
  `resourceLink` - The ContextResourceLink to be managed
Returns:
  a new MBean
Throws:
  `Exception` - if an MBean cannot be created or registered

### createObjectName

public static ObjectName createObjectName(String domain, ContextEnvironment environment) throws MalformedObjectNameException
Create an `ObjectName` for this `Service` object.

Parameters:
  `domain` - Domain in which this name is to be created
  `environment` - The ContextEnvironment to be named
Returns:
  a new object name
Throws:
  `MalformedObjectNameException` - if a name cannot be created

### createObjectName

public static ObjectName createObjectName(String domain, ContextResource resource) throws MalformedObjectNameException
Create an `ObjectName` for this `ContextResource` object.

Parameters:
  `domain` - Domain in which this name is to be created
  `resource` - The ContextResource to be named
Returns:
  a new object name
Throws:
  `MalformedObjectNameException` - if a name cannot be created

### createObjectName

public static ObjectName createObjectName(String domain, ContextResourceLink resourceLink) throws MalformedObjectNameException
Create an `ObjectName` for this `ContextResourceLink` object.

Parameters:
  `domain` - Domain in which this name is to be created
  `resourceLink` - The ContextResourceLink to be named
Returns:
  a new object name
Throws:
  `MalformedObjectNameException` - if a name cannot be created

### createRegistry

public static Registry createRegistry()
Create and configure (if necessary) and return the registry of managed object descriptions.

Returns:
  the singleton registry

### createServer

public static MBeanServer createServer()
Create and configure (if necessary) and return the `MBeanServer` with which we will be registering our `DynamicMBean` implementations.

Returns:
  the singleton MBean server

### destroyMBean

public static void destroyMBean(ContextEnvironment environment) throws Exception
Deregister the MBean for this `ContextEnvironment` object.

Parameters:
  `environment` - The ContextEnvironment to be managed
Throws:
  `Exception` - if an MBean cannot be deregistered

### destroyMBean

public static void destroyMBean(ContextResource resource) throws Exception
Deregister the MBean for this `ContextResource` object.

Parameters:
  `resource` - The ContextResource to be managed
Throws:
  `Exception` - if an MBean cannot be deregistered

### destroyMBean

public static void destroyMBean(ContextResourceLink resourceLink) throws Exception
Deregister the MBean for this `ContextResourceLink` object.

Parameters:
  `resourceLink` - The ContextResourceLink to be managed
Throws:
  `Exception` - if an MBean cannot be deregistered