Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-12775

Deconstruct wildfly-clustering-common


    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 18.0.0.Final
    • Clustering
    • 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).

            pferraro@redhat.com Paul Ferraro
            pferraro@redhat.com Paul Ferraro
            0 Vote for this issue
            2 Start watching this issue