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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • qpid-java-broker-7.0.0
    • Broker-J
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: