JMS Receive Message

JMS Receive Message is a process starter activity that starts the process based on the receipt of a message for the specified JMS destination.

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 messaging style options:
  • Generic: This options corresponds to an abstract JMS Destination. If you are not sure whether your destination is a Queue or Topic, select Generic.
  • Queue
  • Topic
JMS Connection None The JMS connection. For more information, see JMS Connection .
Destination Yes The JMS destination from where the process starter receives the 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. 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 Test: the message is XML text.
Durable Subscriber Yes Specifies a durable subscription.

You must specify a name in the Subscription Name field that is registered with the JMS application as the durable subscriber name. This field is only available if the Messaging Style is Topic.

Subscription Name Yes The subscription name registered with the JMS application for durable subscriptions. This field is only available when you select the Durable Subscriber check box.

After creating a durable subscription you can only be remove this by accessing the administration tool of the JMS provider.

For more information about managing durable subscriptions, see the documentation of the JMS provider .

Suppress Local Messages Yes Specifies to not receive messages on the specified topic name when the message origin is the JMS application on the same connection as the process engine.

If the process publishes and subscribes to messages with the same topic name, this option is useful if you want to specify whether to receive messages sent by the same JMS application that published the message.

Selecting this check box prevents the process from receiving messages sent by the same connection.

Keep this check box clear to specify that the messages sent by the same connection should be received.

Acknowledge Mode Yes The acknowledge mode for incoming messages. It can be one of the following:
  • Auto: the message is automatically acknowledged, when it is received.
  • Client: the message is acknowledged at a later point by using the Confirm activity. If the message is not confirmed before the process instance ends, the message is redelivered and a new process instance is created to handle the new incoming message. Ensure that your process confirms the message when using the acknowledge mode.
  • Dups Ok: the message is acknowledged automatically when it is received. JMS provides this mode for lazy acknowledgment, but TIBCO BusinessWorks Container Edition acknowledges messages upon receipt.
  • TIBCO EMS Explicit Client: (only available for TIBCO Enterprise Message Service) a message which is not acknowledged using the Confirm activity before the process instance ends, is redelivered instead of all messages in the session. The session is not blocked and one session handles all incoming messages for each process instance.
  • TIBCO EMS Explicit Client Dups OK: (only available for TIBCO Enterprise Message Service) a message which is not acknowledged using the Confirm activity before the process instance ends, is redelivered instead of all messages in the session. The session is not blocked and one session handles all the incoming messages for each process instance. The messages however, are lazily acknowledged.
  • TIBCO EMS No Acknowledge: messages delivered using this mode do not require acknowledgment. Therefore, messages in this mode are not redelivered regardless of whether the delivery was successful.
Max Sessions None Specifies the maximum number of client sessions that can connect with the messaging server. This property is enabled only when the Acknowledge mode is selected as Client.

The default value is 1.

Note: Do not use the flowlimit property when the Max Session value is greater than 1.
Shared Subscription None This field is enabled only when the Messaging Style field has Topic option selected. Select this check box to support shared subscription feature of JMS 2.0 specification.

By default, the check box is clear.

Default Map Type Value Yes When the message is sent with the message type as Map, the optional XML schema elements having data type as Int, Integer, Float, Decimal, or Double with null values, and the Default Map Type Value check box is selected, then the default value is added while creating the node at the receiver side for respective element, otherwise the node is not created.

Description

Provide a short description for the activity.

Advanced

The Advanced tab has the following fields.

Field Literal Value/Process Property/Module Property Description
Message Selector Yes A string to determine whether a message should be received. The syntax of the message selector is determined by the JMS provider.

For more information and syntax for a message selector string, see the JMS provider documentation .

Application Properties Type None Any application-specific message properties that is part of the message. This is specified by the JMS application properties shared configuration object.
Polling Interval (sec) None Specifies the polling interval to check for new messages. If no value is specified for the property, the default polling interval is two seconds.

Set a value in this field to specify the polling interval (in seconds) for this activity. The value in this field overrides the default polling interval.

Sequence Key None This field can contain an XPath expression that specifies which processes should run in sequence. Process instances with sequencing keys that evaluate to the same value are executed in the sequence the process instances were created.
Custom Job Id None This field can contain an XPath expression that specifies a custom ID for the process instance.

Output Editor

The Output Editor tab defines the schema to use for incoming 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 incoming message. The schema on the Output Editor tab becomes the structure used for the body of the message displayed 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 Output Editor tab.

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 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.