Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.2.5
-
None
-
None
Description
Currently we have a management module for each feature (like bundle or package) and use our own MBeanRegistrer class to install the mbean into the mbean server.
This ties our management modules to the MBeanRegistrer. Additionally the setup of the MBeanRegistrer class reqquires that we install a service tracker for the MBeanServer and hook the register and unregister methods.
I propose to use a much simpler aproach. Aries JMX Whiteboard allows to register mbeans by just registering them as a service for an interface of *MBean and adding a property jmx.objectname. This has the advantage that our management bundles do not need a special dependency and the setup using the whiteboard pattern is well known from e.g. servlets.
As the MBean registration is passive then we can also make our module structure simpler. We can move the mbean code and setup into the core module. When the jmx whiteboard extender is not present the mbean code stays passive. As soon as the management feature is activated the mbeans become active.