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

[Java Broker] Refactor broker to separate protocol independent from protocol specific classes

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.23
    • Component/s: Broker-J
    • Labels:
      None

      Description

      The Java Broker currently supports all versions of the AMQP protocol from 0-8 to 1.0, however the current structure of the code within the broker makes it hard to distinguish between code which is specific to a version of the protocol and code which is common across all protocols.

      By refactoring we can separate the protocol dependent and independent parts and allow for the possibility of separating out the different protocol implementations into independently loadable libraries.

      Fundamentally the refactoring takes the form of moving protocol specific classes into org.apache.qpid.server.protocol.v

      {0-8,0-10,1-0}

      and sub-packages and using the QpidClassLoader to load the protocol implementations (there are three separate implementations to load - the protocol delegate creators that interface to the IO code; the MessageMetaDataTypes used to (de)serialize the message data to stores; and MessageConverters used to convert between message formats and allow 0-8 messages to be received by 1-0 consumers.

        Attachments

          Activity

            People

            • Assignee:
              rgodfrey Rob Godfrey
              Reporter:
              rgodfrey Rob Godfrey
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: