Receive Message From Queue operation

Retrieves a message that is stored in a queue on the JMS provider.

Note: To use this operation in short-lived processes, you need to configure the transaction settings of the process version so that transaction propagation is not supported. (See Modifying processes .)

For information about the General and Route Evaluation property groups, see Common operation properties .

Queue properties

Properties for connecting to the JMS provider and specifying the queue.

Connection Factory

A string value that represents the name of the JMS connection factory to use to connect to the JMS provider. The connection factory must already be defined on the JMS provider.

If you provide a literal value for Connection Factory, clicking the ellipsis button  opens the JNDI Browser dialog box. The dialog box shows a list of all the named connection factories that are configured on the JNDI service provider. Select the name of the connection factory from the list.

For JBoss, the default connection factory is QueueConnectionFactory , at the top level in the name tree.

For Websphere clusters, use the following value:

cell/clusters/[cluster name]/[queueConnectionFactory]

where [cluster name] is the name of the cluster, and [queueConnectionFactory] is the name of the connection factory.

The JNDI service provider that is used is specified in the JMS service properties. (See JMS service configuration .)

Queue Name

A string value that represents the name of the queue that you are retrieving a message from. The queue must already be configured on the JMS provider.

If you provide a literal value for Queue Name, clicking the ellipsis button  opens the JNDI Browser dialog box. The dialog box shows a list of all the named queues that are configured on the JNDI service provider. Select the name of the queue from the list.

For JBoss, the queue name is in the following format: queue/ [queue name]

For Websphere clusters, use the following value:

cell/clusters/[cluster name]/queue/[queue name]

where [cluster name] is the name of the cluster, and [queue name] is the name of the targeted queue.

The JNDI service provider that is used is specified in the JMS service properties. (See JMS service configuration .)

Message properties

Properties for specifying the message to retrieve.

Message Selector

(Optional) A string value that specifies which message to retrieve, based on message properties. The text is an expression that specifies the values of one or more properties of the message that you want to retrieve. For each message in the queue, the expression is evaluated against the message properties. The first message that is found for which the expression is True is retrieved.

The expression is in the following format:

propertyName operator value

propertyName is the name of the message property. The property name can be a standard one or your own property name.

operator is a comparison operator of any of the following values:

  • = (equal)

  • > (greater than)

  • >= (greater than or equal to)

  • < (less than)

  • <= (less than or equal to)

    value is a value that is compared to the actual value of the property of messages in the queue.

    The expression can include values for multiple properties by using the AND and OR logical operators:

    (propertyName operator value) AND (propertyName operator value)

    You can also include boolean operators in the expression:

  • Use NOT to exclude messages with properties of certain values, for example NOT(CorrelationID = 'id') selects messages that do not have id as the correlation ID.

  • Use TRUE to represent the literal value of True .

  • Use FALSE to represent the literal value of False .

    If you specify a literal value for Message Selector, use the Message Selector Editor dialog box to create the expression. (See About Message Selector Editor .)

Message Payload Type

(Optional) A string value that specifies the format of the data in the message body. The following values are valid:

  • EMPTY specifies no payload.

  • STRING specifies a string value.

  • DOCUMENT specifies a document value.

  • XML specifies an xml value.

  • BINARY specifies a binary value.

  • SERIALIZABLE specifies an object that has been deserialized for transmission purposes. The value can be deserialized to re-create the object.

Message Properties

(Optional) A list of property names and corresponding values for the message that is sent to the JMS application to notify it that the message has been received. The properties that you can or need to provide depend on the JMS application that you are using.

To create the list of property names and values, use the Message Property Editor dialog box. (See About Message Properties Editor .) Click the ellipsis button to display the dialog box.

Output properties

Properties for storing the received message and message properties.

Message Payload

The location to save the information in the message body. The following table lists the data type of the output based on the value of Message Payload Type.

Message Payload Type

Output data type

STRING

string

DOCUMENT

document

XML

org.w3c.Document

BINARY

binary

SERIALIZABLE

object

EMPTY

no output

Message Properties

The location to save the properties of the received message. The data type is map . The map keys are the property names. The values are of type string .

For information about retrieving values from a map, see Accessing data in data collections .

Connection Settings properties

Properties for specifying the connection information.

Use Global Settings

(Optional) A boolean value that indicates whether to use the connection settings specified by the administrator during the configuration process, or to configure the connection manually. A value of true indicates that the global settings are used. All other options in this section are grayed. A value of false indicates that the connection settings must be configured manually.

Provider URL

(Optional) The URL of the JNDI service provider. The default is based on the JBoss Application Server. The following URLs are default values for the application servers that LiveCycle ES2.5 supports.

  • JBoss: <server name> :1099

  • WebLogic: t3:// <server name> :7001

  • WebSphere: iiop://< server name> :2809

    Note: In a clustered JBoss environment, do not use localhost as the server name when Workbench is installed on a cluster node. Specify the fully-qualified server name or the IP address of one of the servers in the cluster.

    In a clustered WebLogic environment, do not use the port of the load balancer. Specify the correct port that cluster nodes use.

JNDI Username

(Optional) The user name of the account to use for authenticating with the JNDI service provider that is used for looking up queue and topic names. The default is guest .

JNDI Password

(Optional) The password that is associated with the user name specified for JNDI Username. The default is guest .

Initial Context Factory

(Optional) The Java class to use as the initial context factory. The JMS service uses this class to create an initial context, which is the starting point for resolving names of topics and queues. The default is the initial context factory for the JMS service on JBoss. The following classes are the initial context factories for the application servers that LiveCycle ES2.5 supports.

  • JBoss: org.jnp.interfaces.NamingContextFactory

  • WebLogic: weblogic.jndi.WLInitialContextFactory

  • WebSphere: com.ibm.websphere.naming.WsnInitialContextFactory

Connection Username

(Optional) The user name of the account to use for authenticating with the JMS provider when establishing the connection with the provider. The default is guest .

Connection Password

(Optional) The password that is associated with the user name specified for Connection Username. The default is guest .

Other Properties

(Optional) Property name and value pairs that you can pass to the JNDI service provider. These properties depend on the implementation and configuration of the provider that you are using.

The property name and value pairs are separated by semi-colons ( ; ). For example, the following text shows the value that would be specified for two properties named name1 and name2, with values value1 and value2, respectively:

name1=value1;name2=value2 

// Ethnio survey code removed