Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-4997

Support AMQP modified disposition frame message annotations

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.37.0
    • None
    • AMQP, Broker
    • None

    Description

      Currently, when ActiveMQ Artemis receives a `Modified` disposition frame, it ignores the attached annotations if provided, as seen in https://github.com/apache/activemq-artemis/blob/2.36.0/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/ProtonServerSenderContext.java#L415.

      According to the AMQP 1.0 spec #3.4.5 Modified, if message annotations are provided in the modified disposition frame, they should be merged with the existing message annotations and override values where the keys are the same.

      We use this feature of AMQP 1.0 to implement a stateless client for the MADES Communication Standard which is used extensively by the TSO's (Transmission System Operators) of the European energy sector.
      Modifying the message annotations for a failed message that needs to be retried later allows us to skip certain processing steps that a message has already been through that should not be repeated when the message is picked up again.

      This issue has been created as a followup to a stackoverflow question answered by Domenico Francesco Bruscino
      https://stackoverflow.com/questions/78804635/activemq-artemis-redelivery-delay-using-amqp-annotations 

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            vennekilde Jeppe B. Vennekilde
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: