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

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

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.23
    • Broker-J
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            rgodfrey Robert Godfrey
            rgodfrey Robert Godfrey
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment