Receive JMS File Message

JMSReceive32x32

Description

Receive JMS Message(s) from file(s) on a remote JMS Server.
This Action can be used as a source of a Bind Link to another target Action.

Parameters

Name Mandatory Default Description

Jms Commit

No

False

Commit on the session after receiving the message(s).

Jms No Local

No

False

All messages sent in the same connection cannot be seen by the consumer. Usefull to prevent consuming own messages sent in the same process.

Jms Connection

Yes

JMS connection used for the command. This connection is automatically set on the action if a metadata link is added on this action.

Jms Acknowledge Mode

No

SESSION_TRANSACTED

The acknowledge mode is the way the consumer is going to inform the provider it has successfully received a message.

Jms Initial Context Factory

Yes

The JNDI naming service use by the JMS Server. It depends on the JMS Provider used.

Jms Connection Factory Name

No

Connection Factory

Name of the connection Factory Used.

Jms Login

No

Login/Username of the JMS Server to use.

Jms Password

No

Encrypted password of the User.

Jms Uncrypted Password

No

Uncrypted password of the User.

Jms Provider Url

Yes

URL of the JMS server. The syntax of the url depends on the JMS Provider used.

Jms Client Id

No

Set a custom client ID. Multiple processes running at the same time cannot have the same client Id.

Jms Session Name

No

T1

Name of the JMS Session.

Jms Server Properties

No

Server specific properties.

Jms Subscriber Name

No

The name of the subscriber from who the messages will be retrieved.

Jms Message Count

No

–1

Number of messages to wait for before completing the wait action. –1 means an infinite number of files.

Jms Receive Timeout

No

1000

The time in ms to wait for the files.

Out File Pattern

Yes

The pattern of the file(s) name to receive.

Out File Dir

No

The directory which contains the message(s) received.

Jms Destination Name

Yes

JMS Queue/Topic in which the message will be retrieved.

Jms User Defined Properties

No

Get custom properties.

Jms Message Content

No

Retrieve the message content. Usefull for binding for exemple.

Passwords are encrypted using the encrypt <password> command on the Runtime engine console (engine command line tool).

Jms No Local

The availability of this feature depends on the effective implementation in the JMS provider. For instance OpenJMS and OpenMQ are known not to implement it.

Jms Server Properties:

Jms Server Properties can be set with this parameter when receiving messages with the following syntax: <property name="propertyName" value="propertyValue"/>

It is automatically set on the action if a metadata link is added on this action.
This can be specifically usefull with ActiveMQ for example, which requires a property for each queue/topic.
It is set in the metadata by adding a property to the JMS Server (Recommended) or with

  1. <property name="queue.<queueName>" value="<queueName>"/>

  2. <property name="topic.<topicName>" value="<topicName>"/>.

Jms Message Content:
This parameter is used to specify a property to retrieve the message content when using the action as the source of a bind link.
The syntax is:

<getMessageContent name="<nameWantedForBinding>" sqlType="<type>"/>

You can then use it in the target action with the syntax:

{nameWantedForBinding}:

Jms User Defined Properties:

This parameter is used to retrieve custom properties set when sending the JMS Message. The syntax is:

<getProperty name="<name>" type="<type>" sqlAlias="<alias>"/>

To see how to set custom properties, go to the Send Jms File Message Action documentation.

  • The type is optional and must be one of these: STRING (default), INT, BOOLEAN, DOUBLE, LONG, FLOAT, BYTE, SHORT

  • The sqlAlias is optional too and defaults to the name.

JmsReceiveMessage can be used as the source of a Bind Link allowing to pass the properties of the message(s) that have been received directly to the target Action.

The columns that can be used on the target action are:

Column Name Type Description

JMSCorrelationID

STRING

ID of a message linked to the current message.

JMSMessageID

STRING

Unique ID of the message.

JMSNormalizedMessageID

STRING

Normalized ID of the JMS Message. Special characters are replaced with underscores.

JMSType

STRING

Message type identifier (E.g. Bytes, Text, Stream, Map).

JMSDeliveryMode

STRING

The delivery mode of the message, which can be one of the following: 1=NON_PERSISTENT, 2=PERSISTENT. Integer values may vary depending on the JMS Provider.

JMSPriority

INTEGER

Priority of the message, from 0 to 9 (9 being the highest one).

JMSExpiration

LONG

Expiration time, in milliseconds.

JMSRedelivered

BOOLEAN

Indicate if the message has been redelivered at least once before. True=yes, False=no.

JMSTimestamp

LONG

Timestamp when the message has been sent, expressed as the number of milliseconds since 01/01/1970.

[userDefinedPropertyName]

JMS User defined property retrieved through the Jms User Defined Properties parameter.

[messageContentPropertyName]

Content of the JMS Message, with the property name defined in Jms Message Content.