ManagementService
, ModuleControl
, ManagementMBean
public 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 ModuleControl
StandardException
- Module cannot be started.Monitor
,
ModuleFactory
public void stop()
ModuleControl
stop
in interface ModuleControl
Monitor
,
ModuleFactory
private void findServer()
public <T> java.lang.Object registerMBean(T bean, java.lang.Class<T> beanInterface, java.lang.String keyProperties) throws StandardException
registerMBean
in interface ManagementService
bean
- 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.StandardException
private void jmxRegister(javax.management.StandardMBean standardMBean, javax.management.ObjectName beanName) throws javax.management.JMException
javax.management.JMException
public void unregisterMBean(java.lang.Object mbeanIdentifier)
unregisterMBean
in interface ManagementService
mbeanIdentifier
- 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()
ManagementMBean
isManagementActive
in interface ManagementMBean
public void startManagement()
ManagementMBean
Require SystemPermission("jmx", "control")
if a security
manager is installed.
startManagement
in interface ManagementMBean
SystemPermission
public void stopManagement()
ManagementMBean
Require SystemPermission("jmx", "control")
if a security
manager is installed.
stopManagement
in interface ManagementMBean
SystemPermission
private void checkJMXControl()
public java.lang.String getSystemIdentifier()
ManagementMBean
getSystemIdentifier
in interface ManagementMBean
public java.lang.String quotePropertyValue(java.lang.String value)
ManagementService
ManagementService.registerMBean(T, java.lang.Class<T>, java.lang.String)
even if it potentially contains special
characters.quotePropertyValue
in interface ManagementService
value
- 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.