[
https://issues.apache.org/jira/browse/ARTEMIS-4997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeppe B. Vennekilde updated ARTEMIS-4997:
-----------------------------------------
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|https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html]
#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|https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/depreciated/503_mades-v1r1.pdf]
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]
was:
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|https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html]
#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|https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/depreciated/503_mades-v1r1.pdf]
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]
> Support AMQP modified disposition frame message annotations
> -----------------------------------------------------------
>
> Key: ARTEMIS-4997
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4997
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: AMQP, Broker
> Affects Versions: 2.37.0
> Reporter: Jeppe B. Vennekilde
> Priority: Major
>
> 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|https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html]
> #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|https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/depreciated/503_mades-v1r1.pdf]
> 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]
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact