Reply to JMS Message

Reply To JMS Message is a synchronous activity that sends a reply to a previously received JMS queue or topic message. The Reply For Event field in the General tab lists the activities that can receive the JMS message. The activity you select determines the response of the reply message.

General

The General tab has the following fields.

Field Description
Name The name to be displayed as the label of the activity.
Reply For Event A drop-down list of activities that can receive JMS queue or topic messages. The activity you select determines the message this activity replies to. The reply-to queue or topic name from the message in the selected activity is used to send the reply message. The listed activity is WaitforJMSRequest.
Message Type 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. Each item can be accessed 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

Provide a short description for the activity.

Advanced

The Advanced tab has the following fields.

Field Description
Delivery Mode The delivery mode of the message. This 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.

JMS Expiration(msec) Corresponds to the JMSExpiration property that specifies how long the message can remain active in milliseconds.

If set to zero (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.
JMS Type The value to supply to the JMSType header property.
Application Properties Type Any application-specific message property that is part of the message. This is specified by the JMS application properties shared configuration object.

Input Editor

The Input Editor tab defines the schema to use for outgoing messages whose message type is 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 message. After defining the schema on the Input Editor tab, it becomes the structure used for the body of the message displayed on the Input tab. For XML Text message type, select an XSD element. For Map and Stream message type, select an XSD Type in the Input Editor tab.

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, 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 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 will be 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 actions to take, see the TIBCO BusinessWorks™ Container Edition 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.