ManagementService, ModuleControl, ManagementMBeanpublic final class JMXManagementService extends java.lang.Object implements ManagementService, ModuleControl
ManagementService| Modifier and Type | Field | Description |
|---|---|---|
private static SystemPermission |
CONTROL |
Control permission (permissions are immutable).
|
private javax.management.MBeanServer |
mbeanServer |
Platform MBean server, from ManagementFactory.getPlatformMBeanServer().
|
private javax.management.ObjectName |
myManagementBean |
If this object is registered as a management mbean
then myManagementBean represents its name.
|
private javax.management.MBeanServer |
myManagementServer |
|
private java.util.Map<javax.management.ObjectName,javax.management.StandardMBean> |
registeredMbeans |
The set of mbeans registered to this service by
Derby's code.
|
private java.lang.String |
systemIdentifier |
Runtime value to disambiguate
multiple Derby systems in the same virtual machine but
different class loaders.
|
DERBY_JMX_DOMAIN| Constructor | Description |
|---|---|
JMXManagementService() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
boot(boolean create,
java.util.Properties properties) |
Start the management service if derby.system.jmx is true.
|
private void |
checkJMXControl() |
Require SystemPermission("jmx", "control") to change
the management state.
|
private void |
findServer() |
Initialize the management service by obtaining the platform
MBeanServer and registering system beans.
|
private static ModuleFactory |
getMonitor() |
Privileged Monitor lookup.
|
java.lang.String |
getSystemIdentifier() |
Get the system identifier that this MBean is managing.
|
boolean |
isManagementActive() |
Is Derby's JMX management active.
|
private void |
jmxRegister(javax.management.StandardMBean standardMBean,
javax.management.ObjectName beanName) |
Register an mbean with the platform mbean server.
|
private void |
jmxUnregister(javax.management.ObjectName mbeanName) |
Unregister an mbean from the JMX plaform server
but leave it registered to this service.
|
java.lang.String |
quotePropertyValue(java.lang.String value) |
Quote an MBean key property value, so that it is safe to pass to
ManagementService.registerMBean(T, java.lang.Class<T>, java.lang.String) even if it potentially contains special
characters. |
<T> java.lang.Object |
registerMBean(T bean,
java.lang.Class<T> beanInterface,
java.lang.String keyProperties) |
Registers an MBean with the MBean server as a StandardMBean.
|
void |
startManagement() |
Inform Derby to start its JMX management by registering
MBeans relevant to its current state.
|
void |
stop() |
Stop the module.
|
void |
stopManagement() |
Inform Derby to stop its JMX management by unregistering
its MBeans.
|
void |
unregisterMBean(java.lang.Object mbeanIdentifier) |
Unregister an mbean using an object previous returned from registerMBean.
|
private void |
unregisterMBean(javax.management.ObjectName mbeanName) |
Unregisters an mbean from this service and JMX plaform server
|
private javax.management.MBeanServer mbeanServer
private java.util.Map<javax.management.ObjectName,javax.management.StandardMBean> registeredMbeans
private javax.management.ObjectName myManagementBean
private javax.management.MBeanServer myManagementServer
private java.lang.String systemIdentifier
private static final SystemPermission CONTROL
public void boot(boolean create,
java.util.Properties properties)
throws StandardException
Starting the service means:
boot in interface ModuleControlStandardException - Module cannot be started.Monitor,
ModuleFactorypublic void stop()
ModuleControlstop in interface ModuleControlMonitor,
ModuleFactoryprivate void findServer()
public <T> java.lang.Object registerMBean(T bean,
java.lang.Class<T> beanInterface,
java.lang.String keyProperties)
throws StandardException
registerMBean in interface ManagementServicebean - The MBean to wrap with a StandardMBean and registerbeanInterface - The management interface for the MBean.keyProperties - The String representation of the MBean's key properties,
they will be added into the ObjectName with Derby's domain. Key
type should be first with a short name for the bean, typically the
class name without the package.StandardExceptionprivate void jmxRegister(javax.management.StandardMBean standardMBean,
javax.management.ObjectName beanName)
throws javax.management.JMException
javax.management.JMExceptionpublic void unregisterMBean(java.lang.Object mbeanIdentifier)
unregisterMBean in interface ManagementServicembeanIdentifier - An identifier returned by registerMBean.private void unregisterMBean(javax.management.ObjectName mbeanName)
mbeanName - Bean to unregister.private void jmxUnregister(javax.management.ObjectName mbeanName)
mbeanName - public boolean isManagementActive()
ManagementMBeanisManagementActive in interface ManagementMBeanpublic void startManagement()
ManagementMBean
Require SystemPermission("jmx", "control") if a security
manager is installed.
startManagement in interface ManagementMBeanSystemPermissionpublic void stopManagement()
ManagementMBean
Require SystemPermission("jmx", "control") if a security
manager is installed.
stopManagement in interface ManagementMBeanSystemPermissionprivate void checkJMXControl()
public java.lang.String getSystemIdentifier()
ManagementMBeangetSystemIdentifier in interface ManagementMBeanpublic java.lang.String quotePropertyValue(java.lang.String value)
ManagementServiceManagementService.registerMBean(T, java.lang.Class<T>, java.lang.String) even if it potentially contains special
characters.quotePropertyValue in interface ManagementServicevalue - the value to quoteObjectName.quote(String)private static ModuleFactory getMonitor()
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.