Message Properties
The following JMS properties that can be set on a JMS message:
- Dead Message Queue Eligible
- Delivery Count
- Delivery Mode
- Deliver-To-One
- Discard Indication
- Eliding Eligible
- HTTP Content Encoding
- HTTP Content Type
- Reply Message
- Topic Sequence Number
- XML Payload
- End-to-End Payload Compression
Dead Message Queue Eligible
This property specifies whether sent messages are eligible for a Dead Message Queue (DMQ). For more information, refer to Dead Message Queue Eligibility.
- Type: Boolean
- Format: Valid values are [true|false]. By default, this property is set to
false
.
Property Source (listed in descending priority) | Example |
---|---|
Message |
Sets the DMQ eligibility for each sent message.
|
JNDI Connection Factory |
SolAdmin—Set through the Default DMQ Eligible 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 “messaging‑properties”, Property “default‑dmq‑eligible”. |
Delivery Count
This property indicates that this is the 1st, 2nd, ... or nth time the broker has attempted to deliver this message to a consumer. This is a read-only property. To use this property, you must enable it for the required queues and topic endpoints.
If you do not enable this property, the delivery count property contains the value 1
for the first delivery attempt, and the value 2
for subsequent attempts.
- Type: Integer
Property Source | Example |
---|---|
Message |
|
Delivery Mode
This property specifies the delivery mode for sent messages.
- Type: Enum
- Format: [DeliveryMode.NON_PERSISTENT | DeliveryMode.PERSISTENT]
- Default: persistent
Property Source (listed in descending priority) | Example |
---|---|
JMS API |
This sets the delivery mode for each sent message.
|
JMS API |
This sets the default delivery mode for the Producer.
|
JNDI Connection Factory |
SolAdmin—Set through the Default Delivery Mode 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 “messaging‑properties”, Property “default‑delivery‑mode”. |
Deliver-To-One
This property specifies whether sent messages are DTO.
- Type: Boolean
- Format: [true|false]
- Default: false
Property Source (listed in descending priority) | Example |
---|---|
Message |
Message.setBooleanProperty(SupportedProperty.SOLACE_JMS_PROP_DELIVER_TO_ONE, true)
|
JNDI Connection Factory |
SolAdmin—Set through the Deliver to One 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‑on‑properties”, Property “deliver‑to‑one”. |
Discard Indication
This property specifies whether a Non-Persistent message published using Direct Transport has been discarded prior to the current received message. This is a read‑only property.
Messages received by durable consumers or non-durable consumers that use Guaranteed Transport - that is, direct-transport is not enabled - won't have the discard indication property.
For more information, refer to Message Discard Notification.
- Type: Boolean
- Format: [true|false]
- Default: false
Property Source | Example |
---|---|
Message |
Message.getBooleanProperty(SupportedProperty.SOLACE_JMS_PROP_MSG_DISCARD_INDICATION)
|
Eliding Eligible
This property specifies whether sent messages are marked as eligible for eliding. For more information, refer to Eliding Eligibility.
- Type: Boolean
- Format: [true|false]
- Default: false
Property Source (listed in descending priority) | Example |
---|---|
Message |
Message.setBooleanProperty(SupportedProperty.SOLACE_JMS_PROP_ELIDING_ELIGIBLE, true)
|
JNDI Connection Factory |
SolAdmin—Set through the Default Eliding Eligible 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 “messaging‑properties”, Property “default‑eliding‑eligible”. |
HTTP Content Encoding
This property specifies the HTTP content encoding header value for interaction with an HTTP client.
- Supported by: Solace PubSub+ 7.1 and higher
- Type: String
- Format: Must be a maximum of 252 ASCII characters.
- Default: null
Property Source | Example |
---|---|
Message |
Message.setStringProperty(SupportedProperty.SOLACE_JMS_PROP_HTTP_CONTENT_ENCODING, “gzip”)
|
HTTP Content Type
This property specifies the HTTP content type header value for interaction with an HTTP client.
- Supported by: Solace PubSub+ 7.1 and higher
- Type: String
- Format: Must be a maximum of 252 ASCII characters.
- Default: null
Property Source | Example |
---|---|
Message |
Message.setStringProperty(SupportedProperty.SOLACE_JMS_PROP_HTTP_CONTENT_TYPE, “application/json”)
|
Reply Message
This property specifies whether the messages is a reply to a request message that uses Direct Transport delivery mode.
For more information, refer to Eliding Eligibility.
- Supported by: Solace PubSub+ 6.1 and higher
- Type: Boolean
- Format: [true|false]
- Default: false
Property Source | Example |
---|---|
Message |
Message.setBooleanProperty (SupportedProperty.SOLACE_JMS_PROP_IS_REPLY_MESSAGE, true)
Tags the Direct message as a reply to a Direct Transport request. To be set by the replier. Message.getBooleanProperty (SupportedProperty.SOLACE_JMS_PROP_IS_REPLY_MESSAGE, true)
Tests whether this message is a reply to a Direct Transport request. |
Topic Sequence Number
This property specifies that the event broker should assign a topic sequence number to messages that are delivered to durable consumers or non-durable consumers using Guaranteed Transport (that is, Direct Transport is not enabled). This is a read‑only property.
This property is deprecated and should not be used.
- Type: Long
- Format: Valid values are 1 through 9,223,372,036,854,775,807
- Default: null (that is, no sequence numbering).
Property Source | Example |
---|---|
Message |
A topic sequence number is automatically assigned by the event broker. A receiving client using a durable consumer can use |
XML Payload
This property controls whether messages published as JMS TextMessages will have their TextMessage strings placed in the messages' XML payload (property is set to true
) or in binary attachments (property is set to false
).
For more information, refer to Delivering Messages to Single Consumers.
- Type: Boolean
- Format: [true|false]
- Default: false
Property Source (listed in descending priority) | Example |
---|---|
Message |
Message.setBooleanProperty(SupportedProperty.SOLACE_JMS_PROP_ISXML, true)
|
JNDI Connection Factory |
SolAdmin—Set through the Text Messages are XML 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 “messaging‑properties”, Property “text‑msg‑xml‑payload”. |
End-to-End Payload Compression
A property key to enable payload compression and set the compression level. Valid values for the payload compression level to be applied to the payload of a message published by a client are 0-9.
For more information, refer to End-to-End Payload Compression.
- Type: Integer
- Format: 0 to 9
- Default: 0
Property Source (listed in descending priority) | Example |
---|---|
JNDI Connection Factory |
CLI/SEMP—Set through Property List “messaging‑properties”, Property “payload-compression-level”. |
Initial Context | Hashtable env = new Hashtable(); env.put(SupportedProperty.SOLACE_JMS_PAYLOAD_COMPRESSION_LEVEL, 9); InitialContext initialContext = new InitialContext(env); |
JNDI Properties File | Solace_JMS_PayloadCompressionLevel=9
|