com.pivotal.gemfirexd.internal.mbeans.package.html Maven / Gradle / Ivy
Show all versions of gemfirexd-core Show documentation
JMX MBeans.
When Derby (the embedded engine) is booted it will attempt to connect
to the PlatformMBeanServer and register a number of MBeans to monitor and manage Derby.
Derby registers its JMX MBeans in the com.pivotal.gemfirexd.internal
domain and
always includes values for type
and system
in the MBean's ObjectName's key
properties. Other key properties are described in the interface class for the MBean.
-
type
Set to the class name of the MBean's interface class without
the package and without MBean
. E.g. for com.pivotal.gemfirexd.internal.mbeans.VersionMBean
the key property type
will be set to Version
. The javadoc for each MBean
also indicates what type
will be set to.
-
system
Set to a runtime identifier that allows Derby and applications
to disambiguate multiple Derby systems in the same virtual machine but different class loaders.
Currently a new value is created each time Derby is booted. An application may discover the
value of the identifier by registering the MBean com.pivotal.gemfirexd.internal.mbeans.Management
and accessing the SystemIdentifier
. This application created ManagementMBean
must be running in the same class loader as Derby.
Derby registers the class name for any MBean to be the interface class for the MBean
(i.e. com.pivotal.gemfirexd.internal.mbeans.*MBean
) to hide the implementation class
(which is subject to change). Permissions in policy files therefore need to
use the MBean interface to define fine grained access. E.g. the permission
to allow a invoking the startManagement
of the ManagementMBean
may be written as:
permission javax.management.MBeanPermission
"com.pivotal.gemfirexd.internal.mbeans.ManagementMBean#startManagement[com.pivotal.gemfirexd.internal:*]",
"invoke";
If Derby cannot connect to the PlatformMBeanServer then no MBeans will be registered.
Applications may use the com.pivotal.gemfirexd.internal.mbeans.Management
MBean to
later enable Derby's JMX management.
If Derby cannot register a specific MBean (e.g. due to no permission to register
that MBean) then it will simply be ignored. Subsequent re-starts of Derby's
management service through com.pivotal.gemfirexd.internal.mbeans.ManagementMBean
will
attempt to register such an MBean again (assuming it is still valid),
in case the security policy has been updated.