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

[Java Broker] Configured model objects should have only one parent

    Details

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

      Description

      Currently it is possible for a configured object to be defined as having multiple parents (of different classes)

      Thus a binding has a "queue" parent and an "exchange" parent, a consumer has a "session" parent and a "queue" parent, a virtualhostalias has a "port" parent and a virtialhost parent.

      This design should be changed.

      Bindings

      Bindings should have a single exchange parent with the queue being an attribute (note that this probably also requires adding binding-key as an attribute and setting the name to queue/binding-key or some such. Exchange-wide validation on the binding-key will be required)

      Consumers

      Since in AMQP 1.0 a link endpoint may outlive the session that created it, it makes sense for the parent of the Consumer to be the Queue. The Session will be a (derived) attribute of the Consumer.

      VirtualhostAliases

      The primary parent of the virtualhostalias should be the (amqp) port. The virtualHost should be an attribute. On creating a VirtualHost we should offer to create an alias for the virtual host on all existing ports with the host name as the alias. On creating a port we should offer to create aliases for each of the existing virtualhosts.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: