JMS Request Reply
JMS Request Reply sends a message and then waits for a reply that correlates back to it. Unlike JMS Sender, which returns as soon as the message is sent, this activity blocks until a correlated reply arrives or Timeout (ms) elapses.
Two settings determine how a reply is matched to the request. Correlation Strategy chooses which JMS identifier ties them together, and Reply Destination chooses where the reply is expected — a shared queue you name, or a temporary queue created for the exchange.
A timeout is not an error. The activity returns with timedOut set to true and
replyReceived false, so the workflow decides what to do next.
The activity has five tabs: Configuration, Reply, Advanced, Input, 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 send through. |
| 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. |
| Request Message Type | Optional | How the request payload is serialized into the outbound JMS request message: Text, Byte, Object, Stream, or Map. Defaults to Text. |
| Input Properties Key | Optional | Input object holding custom JMS application property values. Defaults to properties. |
Reply
| Field | Required | Description |
|---|---|---|
| Timeout (ms) | Optional | How long to wait for a correlated reply before returning timedOut as true. Defaults to 30000. |
| Correlation Strategy | Optional | Correlation ID or Message ID. Defaults to Correlation ID. |
| Reply Destination | Optional | Shared reply queue or topic. Leave blank to use a temporary reply queue. |
| Reply Destination Type | Optional | Queue or Topic. Defaults to Queue. |
| Expected Reply Type | Optional | Expected JMS message type for the reply payload: Text, Byte, Object, Stream, or Map. Defaults to Text. |
Correlation Strategy
Correlation ID sets and uses JMSCorrelationID. Message ID expects the responder to echo
JMSMessageID as JMSCorrelationID.
Expected Reply Type
This shapes the output mapper schema. Runtime still reads the actual JMS message type returned by the broker.
Advanced
| Field | Required | Description |
|---|---|---|
| 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. |
| Input Message Headers Key | Optional | Input object holding standard JMS headers. Input values override the defaults below. Defaults to messageHeaders. |
| Correlation ID (default) | Optional | Default JMSCorrelationID; overridden by the input correlationId. |
| Reply-To (default) | Optional | Default JMSReplyTo destination name; overridden by the input replyTo. |
| Reply-To Type | Optional | Queue or Topic. Defaults to Queue. |
| JMS Type (default) | Optional | Default JMSType; overridden by the input type. |
| Priority (default) | Optional | Default send priority 0–9; overridden by the input priority. |
| Delivery Mode (default) | Optional | 1 is non-persistent, 2 is persistent; overridden by the input deliveryMode. |
Input
| Field | Data Type | Description |
|---|---|---|
| destinationName | String | Runtime destination override. When non-empty, this overrides the configured Destination Name; Destination Type and JNDI lookup remain controlled by the activity configuration. |
| payload | Any | Message payload sent as the JMS body. |
| messageHeaders | Object | Standard JMS headers to set as first-class fields. Overrides the config defaults. |
| properties | Object | Configured JMS application properties. |
messageHeaders
| Field | Data Type | Description |
|---|---|---|
| correlationId | String | Sets JMSCorrelationID — echo a request's id to correlate a reply. |
| replyTo | String | Sets JMSReplyTo to this queue or topic name. See Reply-To Type. |
| type | String | Sets JMSType. |
| priority | Integer | Send priority 0–9; applied at send time. |
| deliveryMode | Integer | JMSDeliveryMode: 1 is non-persistent, 2 is persistent. |
Output
The activity returns a jmsReplyOutput object.
| Field | Data Type | Description |
|---|---|---|
| replyReceived | Boolean | True when a correlated reply was received before timeout. |
| timedOut | Boolean | True when no reply arrived before timeout. |
| requestMessageId | String | JMSMessageID assigned to the request message when available. |
| payload | Object | Decoded reply payload. |
| messageHeaders | Object | Standard JMS headers plus configured and custom JMS properties. |
| properties | Object | Configured JMS application properties. |