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

Generalise Queue|Exchange#alternateExchange as alternateBinding

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • qpid-java-broker-7.0.0
    • Broker-J
    • None

    Description

      Queues and exchanges should have something akin to an "alternate binding" rather than an alternate exchange. From this we can simplify the DLQ implementation to remove the need for DLEs (or at worst have a single DLE).

      Alternate Bindings could be modelled as {destination, arguments}. A supported argument might be replacementRoutingKey which if set could direct the routing through the alternate(s) (This is separate - see QPID-7771).

      This work includes:

      • changes to the model object themselves and the routing algorithms
      • update the configuration upgrades to remap Exchange#alternativeExchange and Queue#alternativeExchange into the new model.
      • the facility for automatic creation of a DLQ should be retained but it can be simplified to not create an DLE exchange.
      • On upgrade, existing users' DLQ/DLEs must be retained as is, that is, there is no requirement to eliminate existing DLEs. This is because we have no way to predict if the users made additional changes to these objects.
      • update UI

      Attachments

        1. alternate-binding.tar.gz
          40 kB
          Alex Rudyy

        Issue Links

          Activity

            People

              orudyy Alex Rudyy
              kwall Keith Wall
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: