activemq-artemis/docs/user-manual/en/copied-message-properties.md

37 lines
1.4 KiB
Markdown

# Properties for Copied Messages
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.