The Request tab specifies properties of the request
to the messaging system. You can configure the following fields:
JMS Service:
Select an existing JMS service from the drop-down list. You can configure
JMS services globally on the External Connections tab in
Policy Studio. For more details on configuring JMS services so that they can
be used in this Connection filter, see the
Messaging System topic.
Destination:
Enter the name of the JMS queue or topic that you want to drop messages
on to.
Delivery Mode:
The Enterprise Gateway supports persistent and non-persistent delivery modes:
-
Persistent:
Instructs the JMS provider to ensure that a message is not lost in
transit if the JMS provider fails. A message sent with this delivery
mode is logged to persistent storage when it is sent.
-
Non-persistent:
Does not require the JMS provider to store the message. With this
mode, the message may be lost if the JMS provider fails.
Priority Level:
You can use message priority levels to instruct the JMS provider to
deliver urgent messages first. The ten levels of priority range from 0
(lowest) to 9 (highest). If you do not specify a priority level, the
default level is 4. A JMS provider tries to deliver higher priority
messages before lower priority ones but does not have to deliver
messages in exact order of priority.
Time to Live:
By default, a message never expires. However, if a message becomes
obsolete after a certain period, you may want to set an expiration time
(in milliseconds). If the specified time to live value is 0, the message
never expires.
Message ID:
Enter an identifier to be used as the unique identifier for the message.
By default, the unique identifier is the ID assigned to the message by the
Enterprise Gateway (${id} ). However, you can use a proprietary
correlation system, perhaps using MIME message IDs instead of Enterprise Gateway
message IDs.
Correlation ID:
Enter an identifier for the message that the Enterprise Gateway uses to
correlate response messages with the corresponding request messages.
Usually, if $id is specified in the
Message ID field above, it is also used here to
correlate request messages with their correct response messages.
Message Type:
This drop-down list enables you to specify the type of data to be
serialized and sent in the JMS message to the JMS provider. The option
selected depends on what part of the message you want to send
to the consumer.
For example, if you want to send the message body, select the option to
format the body according to the rules defined in the
SOAP over JMS
recommendation. Alternatively, if you wanted to serialize a list of name-value
pairs to the JMS message, choose the option to create a MapMessage .
The following list describes the various serialization options available:
-
Use content.body attribute to create a message in the format
specified in the SOAP over Java Messaging Service recommendation:
If this option is selected, messages are formatted according to
the SOAP over JMS
recommendation. This is the default option because, in most cases,
the message body is to be routed to the messaging system. If
this option is selected, a javax.jms.BytesMessage
is created and a JMS property containing the content type
(text/xml ) is set on the message.
-
Create a MapMessage from the java.lang.Map in the attribute
named below:
Select this option to create a
javax.jms.MapMessage from the Enterprise Gateway
message attribute named below that consists of name-value pairs.
-
Create a BytesMessage from the attribute named below:
Select this option to create a javax.jms.BytesMessage
from the Enterprise Gateway message attribute named below.
-
Create an ObjectMessage from the java.lang.Serializable in
the attribute named below:
Select this option to create a javax.jms.ObjectMessage
from the Enterprise Gateway message attribute named below.
-
Create a TextMessage from the attribute named below:
Select this option to create a javax.jms.TextMessage
from the message attribute named below.
-
Use the javax.jms.Message stored in the attribute
named below:
If a javax.jms.Message has already been stored
in a message attribute, select this option, and enter the name of
the attribute in the field below.
Attribute Name:
Enter the name of the Enterprise Gateway message attribute that holds the data
that is to be serialized to a JMS message and sent over the wire to the
JMS provider. The type of the attribute named here must correspond to
that selected in the Message Type drop-down field above.
Use Shared JMS Session:
By default, each running instance of a Messaging System
filter creates its own session (using its own thread) with the JMS provider.
You can select this option to force all running instances of this filter
to share the same JMS session (using a common shared thread) to the JMS
provider. Reusing a shared session across multiple filter instances in
this manner may result in performance degradation as each connection to
the provider using the session blocks until the response (if any) is
received.
Custom Message Properties:
You can set custom properties for messages in addition to those
provided by the header fields. Custom properties may be required to
provide compatibility with other messaging systems. You can use message
attributes as property values. For example, you can create a property
called AuthNUser , and set its value to
${authenticated.subject.id} . Other applications can
then filter on this property (for example, only consume messages where
AuthNUser equals admin ).
To add a new property, click the Add button, and enter
a name and value in the fields provided on the Properties
dialog.
|