activemq-artemis/docs/user-manual/copied-message-properties.adoc

33 lines
1.4 KiB
Plaintext

= Properties for Copied Messages
:idprefix:
:idseparator: -
There are several operations within the broker that result in copying a message.
These include:
* Diverting a message from one address to another.
* Moving an expired message from a queue to the configured `expiry-address`
* Moving a message which has exceeded its `max-delivery-attempts` from a queue to the configured `dead-letter-address`
* Using the management API to administratively move messages from one queue to another
When this happens the body and properties of the original message are copied to a new message.
However, the copying process removes some potentially important pieces of data so those are preserved in the following special message properties:
_AMQ_ORIG_ADDRESS::
a String property containing the _original address_ of the message
_AMQ_ORIG_QUEUE::
a String property containing the _original queue_ of the message
_AMQ_ORIG_MESSAGE_ID::
a String property containing the _original message ID_ of the message
It's possible for the aforementioned operations to be combined.
For example, a message may be diverted from one address to another where it lands in a queue and a consumer tries & fails to consume it such that the message is then sent to a dead-letter address.
Or a message may be administratively moved from one queue to another where it then expires.
In cases like these the `ORIG` properties will contain the information from the _last_ (i.e. most recent) operation.