ResourceDefinition instances are only used during subsystem registration. Unfortunately, many subsystems reference each ResourceDefinition instance in a static reference, which prevents their garbage collection once subsystem registration is complete.
In most cases, these static references are only used by the PersistentResourceXMLParser implementations to obtain the PathElement of a given ResourceDefinition - even though static references to PathElement instances typically exist already.
Eliminating these static references will reduce the metaspace overhead of the server by allowing all ResourceDefinition instances to be garbage collected after the initial subsystem registration.
This is a parent task that will track a sub-tasks per affected subsystem.