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.

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 NEVER, and the terminus-durability is 1 or 2, then the client will bind to a durable topic endpoint. For the other combinations of terminus durability and expiry-policy, the event broker will create a temporary topic endpoint.

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.

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 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 NEVER, and the terminus-durability is 1 or 2, then the client will bind to a durable topic endpoint. For the other combinations of terminus durability and expiry-policy, the event broker will create a temporary topic endpoint.

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 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

Leave source capabilities unset and set the desired prefixed source address in the attach frame, with role=receiver.