Specifying Sources for Message Consumption
In the introduction, Message Consumption, we took a high-level look at how to specify sources for message consumption through non-JMS APIs. In this section, we'll look at the detailed rules for specifying consumption sources:
Rules for Source Specification
As we mentioned in the introduction, Message Consumption, you specify the consumption source in the attach frame.
In the Attach Frame
- You can set the source capabilities in the attach frame, with
role=receiver
, from the client with one of the settings in the following table. - You can set the prefix of the source address in the attach frame, with
role=receiver
, from the client with one of the settings in the following table.
Source Capabilities | Action |
---|---|
not present | Subsequent options will be used to determine the source type; if no other options are set, it defaults to 'queue'. |
queue | The client attempts to bind to a durable queue. |
topic |
The client attempts to bind to a topic endpoint. If the expiry policy is |
temporary-queue | The client attempts to bind to a temporary queue. |
temporary-topic | The client attempts to bind to a temporary topic endpoint. |
Setting the source capabilities will override any other setting you make for the prefix of the source address.
Source Address | Action |
---|---|
not present | Subsequent options will be used to determine the source type; if no other options are set, it defaults to 'queue'. |
unprefixed | Subsequent options will be used to determine the source type, if no other options are present it defaults to 'queue'. |
prefixed by queue:// |
The client attempts to bind to a durable queue. If it's in conflict with specified source capabilities, then the source capabilities value overwrites the prefix value, the prefix is stripped, and a warning is logged to debug.log . |
prefixed by topic:// |
The client consumes from a topic endpoint. If the expiry policy is If it's in conflict with specified source capabilities, then the source capabilities value overwrites the prefix value, the prefix is stripped, and a warning is logged to |
prefixed by dsub:// |
The client attempts to bind to a durable topic endpoint. The DTE name is specified in the link name in the attach frame, and the topic subscription on the DTE is specified in the source address after the dsub:// prefix. If it's in conflict with specified source capabilities, then the source capabilities value overwrites the prefix value, the prefix is stripped, and a warning is logged to debug.log . |
Recommendation
Source capabilities is not present and set the desired prefixed source address in the attach frame, with role=receiver
.