Request for a feature team -- Platform MBean evolution
by Jean Francois Denise
Hi,
the WildFly management resources that expose JVM MXBeans in
*/core-service=platform-mbean* need a refresh and some evolutions.
For full details on what is proposed, you can look at the WildFly proposal:
https://github.com/wildfly/wildfly-proposals/pull/729
We have chosen to align to the JDK 11 API (with some exceptions to expose
JDK 14 defined attributes that replace attributes introduced in JDK11 but
already deprecated).
This JDK 11 constraint is to align with WildFly core minimal supported
version although the platform-mbean resource is used in WildFly that has a
minimal version of JDK 17. We will continue this evolution to follow the
minimal versions in order to avoid technical debt.
Exposing new standard features
We plan to expose new attributes and operations defined in the standard
Platform MXBean API .
Exposing the read-only attributes of the *PlatformLoggingMXBean*
This MXBean is older than JDK 11 but has not been exposed due to potential
conflict with the Logging subsystem. Although the management of loggers is
done thanks to the logging subsystem, exposing the available loggers in the
WildFly management model is a way to discover what are the logger names
that one can enable using the logging subsystem.
Exposing the attributes and operations defined in the *com.sun.management*
package
Attributes and operations defined by such MXBeans are aggregated to the
existing WildFly resources. No new management resources are added.
Although supported by all OpenJDK based JDK, this API is not standard. In
order to cope with this, we are using the JMX reflective access to the
attributes and operations allowing us to expose a static management model
with an implementation that adapts to the JVM capabilities.
The work on this feature is tracked by the PR:
https://github.com/wildfly/wildfly-core/pull/6411
Brian (that implemented initially this integration) already volunteered to
be an sme.
Thank-you.
JF
2 weeks, 3 days