33 lines
1.4 KiB
Plaintext
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.
|