JMS Receiver
JMS Receiver is an event source. It consumes messages from a queue or topic on the selected JMS Connection and starts one workflow run per message.
The receiver controls when the broker is told a message was handled. Acknowledgement Mode chooses between acknowledging on delivery, acknowledging once the workflow succeeds, or acknowledging early from the workflow itself with Acknowledge.
It also handles messages the broker keeps redelivering. Poison Delivery Cap bounds how many delivery attempts a message gets before it is routed to a separate poison destination.
The activity has three tabs: Configuration, Advanced, and Output.
Configuration
| Field | Required | Description |
|---|---|---|
| Name | Optional | Name of the component. |
| Description | Optional | Description of the component. |
| JMS Connection | Optional | The JMS connection resource to consume from. |
| Destination Type | Optional | Queue or Topic. Defaults to Queue. |
| Destination Name | Optional | Direct physical queue or topic name by default. Enable Destination Name Is JNDI on the Advanced tab to treat this as a JNDI binding name resolved through the selected JMS Connection's JNDI resource. |
| Expected Message Type | Optional | Design-time schema and mapping hint. Defaults to Auto. |
| Acknowledgement Mode | Optional | When the broker is told the message was handled. Defaults to On workflow success. |
| Message Selector | Optional | JMS selector expression used to filter messages. |
| Durable Subscription Name | Optional | Topic only: makes the subscription durable. |
| Client ID | Optional | Topic only: required for a durable subscription; must be unique. |
| Unsubscribe On Stop | Optional | Topic only: remove the durable subscription when the trigger stops. Defaults to cleared. |
Expected Message Type
Auto, Text, Map, Bytes, Object, or Stream. This is a design-time schema and
mapping hint — Auto decodes the actual JMS message subtype delivered by the broker.
Acknowledgement Mode
| Mode | Behaviour |
|---|---|
| On workflow success | Acknowledge after the workflow succeeds. This is the default. |
| Manual / early acknowledge | The workflow may acknowledge early using Acknowledge; if it does not, successful workflow completion still acknowledges. |
| Auto acknowledge | The provider acknowledges on delivery. |
Manual mode is what populates ackToken in the output. That token is the input
Acknowledge consumes.
Topic subscriptions
Durable Subscription Name, Client ID, and Unsubscribe On Stop apply only when
Destination Type is Topic. A durable subscription needs both a subscription name and a
unique client ID.
Advanced
| Field | Required | Description |
|---|---|---|
| Transacted | Optional | Commit on success, roll back on failure. Defaults to cleared. |
| Destination Name Is JNDI | Optional | When enabled, Destination Name is resolved from the JMS connection's JNDI context instead of used as a physical queue or topic name. Defaults to cleared. |
| Properties | Optional | Custom JMS application properties. These are separate from standard JMS headers and can be typed. |
| Message Group Order Key | Optional | JMS message-group or order key. When set, managed runtime can preserve per-key ordering. |
| Poison Delivery Cap | Optional | Maximum broker delivery count before routing to the poison destination. Defaults to 10; set 0 to disable source-level poison handling. |
| Poison Destination Type | Optional | Destination type for capped or redelivered messages. Queue or Topic, defaults to Queue. |
| Poison Destination Name | Optional | Queue or topic used to preserve capped poison messages. Leave blank to use provider or work-queue fallback behavior. |
Output
The activity returns a jmsOutput object.
| Field | Data Type | Description |
|---|---|---|
| payload | Object | Decoded JMS payload. Map and Object messages expose extensible JSON fields; Text, Auto, Bytes, and Stream are transformed to string by the selected message type. |
| messageHeaders | Object | Standard JMS headers plus configured and custom JMS properties. |
| properties | Object | Configured JMS application properties. These are user-defined JMS properties, separate from standard JMS headers. |
| ackToken | String | Manual acknowledgement token. Present only when Acknowledgement Mode is Manual / early acknowledge. |
messageHeaders
| Field | Data Type | Description |
|---|---|---|
| messageId | String | JMSMessageID assigned by the broker when available. |
| correlationId | String | JMSCorrelationID used for request/reply correlation when present. |
| destination | String | JMSDestination queue or topic name when the provider exposes it. |
| replyTo | String | JMSReplyTo destination name when present. |
| type | String | JMSType value when present. |
| priority | Integer | JMSPriority. |
| deliveryMode | Integer | JMSDeliveryMode. |
| timestamp | Integer | JMSTimestamp as epoch milliseconds. |
| expiration | Integer | JMSExpiration as epoch milliseconds; 0 means no expiration. |
| redelivered | Boolean | JMSRedelivered flag. |