Rules for Destination Specification
As we mentioned in the introduction, Message Publication, you can specify the destination in the attach frame or in a message (anonymous relay). We'll look at both ways.
In the Attach Frame
- You can set the target capabilities in the attach frame, with
role=sender
, from the client with one of the settings in the following table. - You can set the prefix of the target address in the attach frame, with
role=sender
, from the client with one of the settings in the following table.
Target Capabilities | Action |
---|---|
not present | Subsequent options will be used to determine the destination type; if no other options are set, it defaults to 'queue'. |
queue | All messages sent on this link will be processed by the event broker as published to a durable queue. |
topic | All messages sent on this link will be processed by the event broker as published to a topic. |
temporary-queue | All messages sent on this link will be processed by the event broker as published to a temporary queue. |
temporary-topic | All messages sent on this link will be processed by the event broker as published to a temporary topic. |
Setting the target capabilities will override any other settings you make in the other fields we discuss below, even those in In A Message.
Target Address | Action |
---|---|
not present | Subsequent options will be used to determine the destination type; if no other options are set, it defaults to 'queue'. |
unprefixed | Subsequent options will be used to determine the destination type, if no other options are present it defaults to 'queue'. |
prefixed by queue:// |
All messages sent on this link will be processed by the event broker as published to a queue. If this in conflict with specified target capabilities, then the target capabilities value overwrites the prefix value, the prefix is stripped, and a warning is logged to debug.log . |
prefixed by topic:// |
All messages sent on this link will be processed by the event broker as published to a topic. If this in conflict with specified target capabilities, then the target capabilities value overwrites the prefix value, the prefix is stripped, and a warning is logged to debug.log . |
prefixed by #P2P/QTMP/ |
All messages sent on this link will be processed by the event broker as published to a temporary queue. |
prefixed by #P2P/TTMP/ |
All messages sent on this link will be processed by the event broker as published to a temporary topic. |
Recommendation
Target capabilities is not present and set the desired prefixed target address in the attach frame, with role=sender
.
In A Message
- You can set the
x-opt-jms-dest
message-annotation with one of the settings in the following table. - You can set the
to
message property with one of the settings in the following table.
x-opt-jms-dest | Action |
---|---|
not present | Subsequent options will be used to determine the destination type; if no other options are set, it defaults to 'queue'. |
0 | The message will be processed by the event broker as published to a durable queue. |
1 | The message will be processed by the event broker as published to a topic. |
2 | The message will be processed by the event broker as published to a temporary queue. |
3 | The message will be processed by the event broker as published to a temporary topic. |
'to' message property | Action |
---|---|
not present | Defaults to 'queue'. |
unprefixed | The message will be processed by the event broker as published to a queue. |
prefixed by queue:// |
The message will be processed by the event broker as published to a topic. If the prefix is in conflict with what's specified in the x-opt-jms-dest message-annotation, then the x-opt-jms-dest value overwrites the prefix value and the prefix is silently stripped. |
prefixed by topic:// |
The message will be processed by the event broker as published to a topic. If the prefix is in conflict with what's specified in the x-opt-jms-dest message-annotation, then the x-opt-jms-dest value overwrites the prefix value and the prefix is silently stripped. |
prefixed by #P2P/QTMP/ |
The message will be processed by the event broker as published to a temporary queue |
prefixed by #P2P/TTMP/ |
The message will be processed by the event broker as published to a temporary topic |
Recommendation
x-opt-jms-dest
is not present and set the to
message property with the desired prefixed destination.