Message Delivery Properties

This section discusses JMS properties associated with JMS message delivery.

Note:  The connection pool for Solace JMS is set by the application, and can't be set by the message broker.

Direct Transport

This property specifies whether to use a Direct Transport delivery mode for Non‑Persistent messages.

  • Type: Boolean
  • Format: [true|false]
  • A value of true enables Direct Transport; a value of false disables Direct Transport, so that Guaranteed message delivery mode is used.
  • Default: true

Direct Transport Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the Direct Transport box in the Transport Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “transport‑properties”, Property “direct‑transport”.

Direct Transport Optimization

This property specifies whether to optimize the API for the Direct Transport delivery mode. When optimization is enabled, a client application is restricted to creating one producer and one non-durable consumer. This allows all messages using the Direct Transport mode that are received to go directly to the single consumer. When this JMS property is enabled, attempting to create more than one producer or more than one non-durable consumer will return an exception.

  • Type: Boolean
  • Format: [true|false]
  • Default: false

Direct Transport Optimization Property

Property Source (listed in descending priority)

Example

System

-DSolace_JMS_OptimizeDirect=true

Initial Context

env.put(SupportedProperty.SOLACE_JMS_OPTIMIZE_DIRECT, true);

JNDI Properties File

Solace_JMS_OptimizeDirect=true

JNDI Connection Factory

SolAdmin—Set through the Optimize Direct box in the Transport Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “transport‑properties”, Property “optimize‑direct”.

Deliver-To-One Override

This property specifies whether to override Deliver-To-One (DTO) settings. When enabled, the API can receive all DTO tagged messages. This property is only used with Direct Transport messages.

  • Type: Boolean
  • Format: [true|false]
  • Default: true

Deliver-To-One Override Property

Property Source (listed in descending priority)

Example

System

-DSolace_JMS_DeliverToOneOverride=true

Initial Context

env.put(

SupportedProperty. SOLACE_JMS_DELIVER_TO_ONE_OVERRIDE, true);

JNDI Properties File

Solace_JMS_DeliverToOneOverride=true

JNDI Connection Factory

SolAdmin—Set through the DTO Override box in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “deliver‑to‑one‑properties”, Property “deliver‑to‑one‑override”.

Deliver-To-One Subscriber Local Priority

This property specifies the priority that a client’s subscriptions have for receiving DTO messages published on the message broker that the client is directly connected to.

  • Type: Integer
  • Format: Valid values are 1 (the highest) through 4 (the lowest)
  • Default: 1

Deliver-To-One Subscriber Local Property

Property Source (listed in descending priority)

Example

System

-DSolace_JMS_SubscriberLocalDTOPriority=3

Initial Context

env.put(

SupportedProperty.SOLACE_JMS_SUBSCRIBER_LOCAL_DTO_PRIORITY, 3);

JNDI Properties File

Solace_JMS_SubscriberLocalDTOPriority=3

JNDI Connection Factory

SolAdmin—Set through the Subscriber Local Priority box in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “deliver‑to‑one‑properties”, Property “subscriber‑local‑priority”.

Deliver-To-One Subscriber Network Priority

This property specifies the priority that a client’s subscriptions have for receiving Deliver‑To‑One messages published by other message brokers in Solace PubSub+ (that is, by message brokers other than the one that the client is directly connected to).

  • Type: Integer
  • Format: Valid values are 1 (the highest) through 4 (the lowest).
  • Default: 1

Deliver-To-One Subscriber Network Property

Property Source (listed in descending priority)

Example

System

-DSolace_JMS_SubscriberNetworkDTOPriority=3

Initial Context

env.put(SupportedProperty.SOLACE_JMS_SUBSCRIBER_NETWORK_DTO_PRIORITY, 3);

JNDI Properties File

Solace_JMS_SubscriberNetworkDTOPriority=3

JNDI Connection Factory

SolAdmin—Set through the Subscriber Network Priority box in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “deliver‑to‑one‑properties”, Property “subscriber‑network‑priority”.

Guaranteed Message Acknowledgment Threshold

This property specifies the threshold for sending a windowed message acknowledgment (set as a percentage of the window size) to the message broker.

This affects the flow-control window acknowledgment. The API sends a transport acknowledgment every N messages. N is calculated as this percentage of the flow window size if the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time is greater than or equal to the transport window size. Otherwise, N is calculated as this percentage of the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time. This threshold does not control application-level message acknowledgments. This property is only used for messages sent using the Guaranteed Transport mode, it is not used for messages sent using the Direct Transport mode.

  • Type: Integer
  • Format: Valid values are 1 through 75.
  • Default: 60

Guaranteed Message Acknowledgment Threshold Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the Acknowledgment Threshold box in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “receive‑ack‑threshold”.

Guaranteed Message Acknowledgment Timer

This property specifies the maximum amount of time (in milliseconds) that can pass before an acknowledgment for received messages must be sent to the message broker. This property is only used for messages sent using the Guaranteed Transport mode, it is not used for messages sent using the Direct Transport mode.

  • Type: Integer
  • Format: Valid values are 20 through 1500.
  • Default: 1000 (that is, one second)

Guaranteed Message Acknowledgment Timer Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the AD Acknowledgment Time box (in the Message Reception Properties area) in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “ack‑timer”.

Guaranteed Message Window Size

This property specifies the size of the sliding acknowledgment window used for acknowledging received messages. This property is only used for messages sent using the Guaranteed Transport mode, it is not used for messages sent using the Direct Transport mode.

A Guaranteed Message window size limits the number of messages that the API can receive before it must return an acknowledgment to the message broker to indicate that it received the messages in the window. After the API sends this acknowledgment, the Guaranteed Message window reopens so that further messages can be sent to the API.

  • Type: Integer
  • Format: Valid values are 1 through 255.
  • Default: 18

Guaranteed Message Window Size Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the AD Window Size box in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “ad‑window‑size”.

Guaranteed Message Send Acknowledgment Time

This property specifies the amount of time (in milliseconds) that the publishing messaging API can wait for an acknowledgment from the message broker. The API automatically retransmits messages not acknowledged in time.

This property is only used for messages sent using the Guaranteed Transport mode, it is not used for messages sent using the Direct Transport mode.

  • Type: Integer
  • Format: Valid values are 20 through 60000.
  • Default: 2000 (that is, two seconds)

Guaranteed Message Send Acknowledgment Time Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the AD Acknowledgment box (in the Message Transmission Properties area) in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “send‑ack‑timer”.

Guaranteed Message Maximum Retransmits

Note:  This property has been deprecated and isn't used by JMS API versions 7.1.2.x and up. In versions 7.1.2.x and up the JMS API resends unacknowledged messages indefinitely.

This property specifies the maximum number of times the API can resend a message if it's not acknowledged by the message broker, or if a resend is required because the client disconnected and reconnected before receiving an acknowledgment.

This property is only used for messages sent using the Guaranteed Transport mode, it's not used for messages sent using the Direct Transport mode.

  • Type: Integer
  • Format: Valid values are 0 through 2147483647.
  • Default: 30. (Note that this was changed from 15 to 30 in Solace PubSub+ Version 7.0.)

Guaranteed Message Maximum Retransmits Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the Maximum Message Retransmits box (in the Message Transmission Properties area) in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “send‑max‑resends”.

Guaranteed Message Send Window Size

This property specifies the maximum number of Non-Persistent messages that a client can publish using Guaranteed Transport before the messaging API must receive an acknowledgment from the message broker. For Persistent messages, the Guaranteed message send window size is fixed at 1.

This property is only used for messages sent using the Guaranteed Transport mode, it is not used for messages sent using the Direct Transport mode.

  • Type: Integer
  • Format: Valid values are 1 through 255 for Non-Persistent messages.
  • Default: 255

Guaranteed Message Send Window Size Property

Property Source

Example

JNDI Connection Factory

SolAdmin—Set through the Non‑Persistent Message AD Window Size box (in the Message Transmission Properties area) in the Messaging Properties tab of the New JMS Connection Factory or Edit JMS Connection Factory dialog box.

CLI/SEMP—Set through Property List “ad‑properties”, Property “send‑ad‑window‑size”.