Skip to main content

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

FieldRequiredDescription
NameOptionalName of the component.
DescriptionOptionalDescription of the component.
JMS ConnectionOptionalThe JMS connection resource to send through.
Destination TypeOptionalQueue or Topic. Defaults to Queue.
Destination NameOptionalDirect 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 TypeOptionalHow the request payload is serialized into the outbound JMS request message: Text, Byte, Object, Stream, or Map. Defaults to Text.
Input Properties KeyOptionalInput object holding custom JMS application property values. Defaults to properties.

Reply

FieldRequiredDescription
Timeout (ms)OptionalHow long to wait for a correlated reply before returning timedOut as true. Defaults to 30000.
Correlation StrategyOptionalCorrelation ID or Message ID. Defaults to Correlation ID.
Reply DestinationOptionalShared reply queue or topic. Leave blank to use a temporary reply queue.
Reply Destination TypeOptionalQueue or Topic. Defaults to Queue.
Expected Reply TypeOptionalExpected 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

FieldRequiredDescription
Destination Name Is JNDIOptionalWhen 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.
PropertiesOptionalCustom JMS application properties. These are separate from standard JMS headers and can be typed.
Input Message Headers KeyOptionalInput object holding standard JMS headers. Input values override the defaults below. Defaults to messageHeaders.
Correlation ID (default)OptionalDefault JMSCorrelationID; overridden by the input correlationId.
Reply-To (default)OptionalDefault JMSReplyTo destination name; overridden by the input replyTo.
Reply-To TypeOptionalQueue or Topic. Defaults to Queue.
JMS Type (default)OptionalDefault JMSType; overridden by the input type.
Priority (default)OptionalDefault send priority 09; overridden by the input priority.
Delivery Mode (default)Optional1 is non-persistent, 2 is persistent; overridden by the input deliveryMode.

Input

FieldData TypeDescription
destinationNameStringRuntime destination override. When non-empty, this overrides the configured Destination Name; Destination Type and JNDI lookup remain controlled by the activity configuration.
payloadAnyMessage payload sent as the JMS body.
messageHeadersObjectStandard JMS headers to set as first-class fields. Overrides the config defaults.
propertiesObjectConfigured JMS application properties.

messageHeaders

FieldData TypeDescription
correlationIdStringSets JMSCorrelationID — echo a request's id to correlate a reply.
replyToStringSets JMSReplyTo to this queue or topic name. See Reply-To Type.
typeStringSets JMSType.
priorityIntegerSend priority 09; applied at send time.
deliveryModeIntegerJMSDeliveryMode: 1 is non-persistent, 2 is persistent.

Output

The activity returns a jmsReplyOutput object.

FieldData TypeDescription
replyReceivedBooleanTrue when a correlated reply was received before timeout.
timedOutBooleanTrue when no reply arrived before timeout.
requestMessageIdStringJMSMessageID assigned to the request message when available.
payloadObjectDecoded reply payload.
messageHeadersObjectStandard JMS headers plus configured and custom JMS properties.
propertiesObjectConfigured JMS application properties.