All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pivotal.gemfirexd.internal.mbeans.package.html Maven / Gradle / Ivy

There is a newer version: 2.0-BETA
Show newest version


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.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy