Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-8045

[Broker-J] Refactor context variables

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Broker-J
    • Labels:
      None

      Description

      Context variables are heavily used in Qpid Broker-J.
      Over the years their implementation and use has grown organically.
      Maybe it is time they are refactored.

      Some reasons for considering a refactor:

      • boilerplate: Currently a context variable requires quite a lot of boilerplate code. A variable for the name and the @ManagedContextDefault annotated default value, a @DerivedAttribute annotated getter for the materialized value, a variable to hold the materialized value, the code to materialize the context variable.
      • inconsistency: Some context variables are materialized others aren't (i.e., change takes effect after restart vs immediately). The point of materialization is inconsistent (popular choices being onOpen and postResolve). Some expose the materialized value through a @DerivedAttribute others do not. The names of the context variables are sometimes directly on the scattered around @ManagedContextDefault sometimes on a separate variable.

        Attachments

        1. QPID-8045_contextVars_WIP.tar.gz
          27 kB
          Lorenz Quack

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lorenz.quack Lorenz Quack
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: