-
Task
-
Resolution: Unresolved
-
Major
-
None
-
18.0.0.Final
-
None
wildfly-clustering-common began as a module to house code common to clustering-related subsystem modules (e.g. infinispan, jgroups, singleton, mod_cluster, etc). While this module is currently still a dumping ground of sorts, the majority of the code contained within makes up a framework for quickly building and evolving subsystems, with minimal boilerplate code, including:
- Simplified model/operation/attribute/metric registration
- Interfaces for enumerating schema and management model versions, used for parameterizing parsers and transfomers
- Generic add/remove operation handlers with a clean distinction between runtime behavior and model behavior.
- Mechanisms for easily renaming/relocating management attributes
- Abstractions for using capabilities
- Generic Resource decorator augmented to support additional runtime children.
- Abstractions for correctly implementing runtime operations and metrics using values from an MSC service
- Abstractions for complex transformers
On top of subsystem development abstractions, this module also contains:
- Abstractions for contextual execution
- Move to separate module
- Service configurator for JNDI bindings
- Move to separate module
- Helper methods for obtaining optional model values
- These are largely redundant now
- Common Function/Predicate/Consumer implementations
- These can likely be replaced with implementations from wildfly-common or guava
Once cleaned up, and excess dependencies eliminated, we can rename it to something more descriptive (e.g. wildfly-subsystem).