The general idea is to add a formal experimental mode to the WildFly management model.
Generally speaking, new features are most often enabled via a new management resource or a new attribute to an existing resource.
- Add mechanism to specify whether WildFly should run with experimental features.
- Update the WildFly preview feature pack to enable experimental mode by default.
- Add the ability to flag a given resource definition, attribute definition, or operation definition as experimental.
- When experimental mode is enabled, registration of experimental resources/attributes/operations will be skipped.
- Skipping the registration of an experimental resource inherently skips registration of its attributes/operations/etc.
- An entire subsystem can be marked as experimental by flagging its root resource as experimental.
Perhaps, rather than a simple boolean, we specify this as an enumerated "stream", e.g. STABLE, PREVIEW, EXPERIMENTAL, etc. where each stream has specific stability implications.
The ManagementResourceRegistration would then filter the registration of resources/attributes/operations definitions via the associated characteristic.
If core-management was configured to use the PREVIEW stream, it would filter registration of resources/attributes/operations to include only those whose stream was >= PREVIEW, and skip registration for anything associated with a stream < PREVIEW, i.e. EXPERIMENTAL.