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