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

Deconstruct wildfly-clustering-common

XMLWordPrintable

    • 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).

          1.
          Extract contextual execution classes from wildfly-clustering-common into new module Sub-task Closed Major Paul Ferraro
          2.
          Replace ModelNodes helper class with native wildfly-dmr methods Sub-task Closed Major Paul Ferraro
          3.
          Remove use of AttributeXMLBuilderOperator Sub-task Closed Major Paul Ferraro
          4.
          Remove Predicates class Sub-task Closed Major Paul Ferraro
          5.
          Replace Namespace with version from staxmapper. Sub-task Closed Major Paul Ferraro
          6.
          Replace Schema-related interfaces in wildfly-clustering-common with version from wildfly-controller Sub-task Closed Major Paul Ferraro
          7.
          Replace Model interface in wildfly-clustering-common with version from wildfly-controller Sub-task Closed Major Paul Ferraro
          8.
          Replace SubsystemResourceDescriptionResolver and usage with version from wildfly-controller Sub-task Closed Major Paul Ferraro
          9.
          Replace EnumValidator from wildfly-clustering-common with version from wildfly-core Sub-task Closed Major Paul Ferraro
          10.
          Replace Consumers/Functions with utility methods from wildfly-common Sub-task Closed Major Paul Ferraro
          11.
          Replace Requirement/Capability with ServiceDescriptor from wildfly-core Sub-task Open Major Paul Ferraro
          12.
          Replace capability name resolvers with versions from wildfly-controller Sub-task Closed Major Paul Ferraro
          13.
          Replace service value captor abstractions from wildfly-clustering-common with variants from wildfly-subsystem Sub-task Closed Major Paul Ferraro
          14.
          Replace ResourceServiceConfigurator usage with ResourceServiceInstaller from wildfly-subsystem Sub-task Open Major Paul Ferraro
          15.
          Replace ResourceDescriptor/Registration with variants from wildfly-subsystem Sub-task Open Major Paul Ferraro
          16.
          Replace custom AttributeDefinitions from wildfly-clustering-common with versions in wildfly-core Sub-task Pull Request Sent Major Paul Ferraro
          17.
          Replace module-based AttributeDefinitions from wildfly-clustering-common with versions in wildfly-core Sub-task Open Major Paul Ferraro

              pferraro@redhat.com Paul Ferraro
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: