JMS Request Reply

JMS Request Reply is an asynchronous activity that is used to send a request to a JMS destination and wait for a response from the JMS client.

Note: This activity uses temporary destinations to ensure that reply messages are received only by the process that sent the request. However, the user has the ability to use preexisting JMS destinations.

General

The General tab has the following fields.

Field Literal Value/Process Property/Module Property Description
Name None The name to be displayed as the label for the activity in the process.
Messaging Style Yes Select from one of the following available options:
  • Generic
  • Queue
  • Topic
JMS Connection None The JMS connection. For more information, see JMS Connection.
Destination Yes The name of the destination of the outgoing message.
Message Type None The type of the message. This can be one of the following:
  • Text: the message is a java.lang.String.
  • Byte: a stream of bytes.
  • Map: a set of name or value pairs. The names are strings, and the values are simple datatypes (JAVA primitives), an array of bytes (use the Binary datatype when mapping this data), or a string. You can access each item sequentially or by its name.
  • Object: a Java object that can be serialized.
  • Object Ref: an object reference to a Java object.
  • Simple: a message with no body part.
  • Stream: a stream of Java primitives, strings, or arrays of bytes. Each value must be read sequentially.
  • XML Text: the message is XML text.

Description

Privide a short description for the activity here.

Advanced

The Advanced tab has the following fields.

Field Description
Reply To Destination The destination to use for replies for this activity.
Note: If more than one job has the same Reply To Destination, each job may not receive the correct reply. Ensure to specify an expression in this field that assigns a different Reply To Destination to each process instance.
Deliver Mode The delivery mode of the message. Can be one of the following:
  • Persistent: signifies that the messages are stored and forwarded.
  • Non_Persistent: signifies that the messages are not stored and may be lost due to transmission failure.
  • TIBCO_EMS_Reliable_Delivery: this mode is only available when using TIBCO Enterprise Message Service. See the TIBCO Enterprise Message Service documentation for more information.
JMS Expiration(msec) Corresponds to the JMSExpiration property that specifies how long the message can remain active in miliseconds.

If set to 0, the message does not expire.

Priority The priority of the message. You may set the priority to a value from 0-8. The default value is 4.
Type The value to supply to the JMSType header property.
Application Properties Type Any application-specific message properties that is part of the message. This is specified by the JMS application properties shared configuration object.

Input Editor and Output Editor

The Input Editor and Output Editor tabs define the schema to use for messages of type Map, Stream, or XML Text. Map messages are name or value pairs, and you can use the schema to define the structure of the outgoing request and the incoming reply. The schema defined on the Input Editor tab becomes the body of the message on the Input tab. The schema defined on the Output Editor tab becomes the body of the message on the Output tab. For XML Text message type, select an XSD element. For Map and Stream message types, select an XSD type in the Input Editor or Output Editor.

Input

The following is the input for the activity.

Input Item Datatype Description
Destination string The destination to which to send the request. This input item overrides the Destination field on the General tab.
replyTo string The destination to use for replies for this activity.
Note: If more than one job has the same Reply To Destination, then each job may not receive the correct reply. Ensure to specify an expression in this field that assigns a different Reply To Destination to each process instance.
JMSExpiration integer Specifies how long the message can remain active in milliseconds.

If set to zero (0), the message does not expire.

JMSPriority string The priority of the message. This item overrides the priority set on the Advanced tab.
JMSDeliveryMode string The delivery mode of the message. Can be one of the following:
  • Persistent: signifies that the messages are stored and forwarded.
  • Non_Persistent: signifies that the messages are not stored and may be lost due to transmission failure.
  • TIBCO_EMS_Reliable_Delivery: this mode is only available when using TIBCO Enterprise Message Service.

    For more information, see the TIBCO Enterprise Message Service documentation .

JMSCorrelationID string This ID is used to link a response message with its related request message. This is usually the message ID of a request message when this field exists in a reply message.
JMSType string The type of the message. This item overrides the value specified on the Advanced tab.
JMSProperties complex The message properties. For more information, see Common JMS Properties and Headers.
Body depends on the message type The body of the message.
DynamicProperties complex

Dynamic properties is an additional parameter to add runtime property to the outgoing JMS messages that are specified in the Input tab. This is an optional element with only one instance. Dynamic property can have multiple property elements.

Each property element denotes a single dynamic property and can contain the following elements:

  • Name - Required. Name of the property with one instance.
  • Value - Required. Value of the property with one instance.
  • Type - Optional. Type of the property. If not provided, it is considered as string.

The following data types are supported:

  • string
  • boolean
  • short
  • integer
  • long
  • float
  • double
  • byte
Note: The DynamicProperty overwrites the value of a property (with the same name) added using the JMS Application Property.

The DynamicProperties are also added to the outgoing message.

requestTimeout integer This field specifies the amount of time (in milliseconds) that the activity waits before it times out.

Output

The following is the output of this activity.

Output Item Datatype Description
JMSHeaders complex The message header fields for the message. For more information about message header fields, see Common JMS Properties and Headers .

Only properties applicable to this type of message are displayed.

JMSProperties complex The message properties for the message. For more information about message properties, see Common JMS Properties and Headers .

Only properties applicable to this type of message are displayed.

Body as per message type The body of the message.
DynamicProperties complex

Dynamic properties is an additional parameter to add runtime property to the outgoing JMS messages that are specified in the Input tab. This is an optional element with only one instance. Dynamic property can have multiple property elements.

Each property element denotes a single dynamic property and can contain the following elements:

Name - Required. Name of the property with one instance.

Value - Required. Value of the property with one instance.

Type - Optional. Type of the property. If not provided, it is considered as string.

The following data types are supported:

  • string
  • boolean
  • short
  • integer
  • long
  • float
  • double
  • byte
Note: The DynamicProperty overwrites the value of a property (with the same name) added using the JMS Application Property.

The DynamicProperties are also added to the outgoing message.

Fault

The Fault tab lists the possible exceptions generated by this activity. For more information about error codes and the corrective action to take, see the TIBCO ActiveMatrix BusinessWorks™ Error Codes guide.

Fault Generated When..
JMSInvalidInputException The input to the activity is not valid.
JMSMessageCreateException The JMS message could not be created.
JMSSessionCreateException The JMS session could not be created.
JMSSendException The JMS send operation failed.
JMSReceiveException The JMS receive operation failed.
ActivityTimedOutException A timeout has been reached.