Show TOC Start of Content Area

Function documentation Configuring the Sender JMS Adapter  Locate the document in its SAP Library structure

Use

You need to configure the sender JMS adapter to send JMS messages to the Integration Engine or the PCK. 

Integration

You configure the adapter on the Parameters tab page during the definition of a communication channel in the Integration Server or in the PCK. In addition to the adapter configuration, on the Module tab page in the module processor, you can specify generic modules, which give the adapter additional functions.

Condition for Sender Agreement

The adapter determines the payload of the XI message according to how it is configured. However, the message header information is determined from the corresponding sender agreement for the communication channel.

The following conditions apply to the adapter for the definition of the sender agreement:

·        The communication channel defined here must have exactly one sender agreement.

·        At least the interface name and the sender service must be qualified in the sender agreement. All other fields are optional in accordance with the general rules for defining sender agreements.

Prerequisites

       1.      You have created a new communication channel or have opened an existing one.

       2.      On the Parameters tab page you have selected the adapter type JMS.

       3.      You have selected the Senderradio button to define the adapter as a sender adapter.

Activities

To configure the adapter, specify the following:

Transport Protocol

SonicMQ JMS Provider

WebSphereMQ (non-JMS)

Access JMS Provider with JNDI

(Read) JMS Provider Administered Objects from File

Access JMS Provider Generically

Message Protocol

JMS 1.x

Adapter Engine

Select the Adapter Engine on the Integration Server, or select a non-centrally installed Adapter Engine. This selection is not available in the PCK.

Source Tab Page

Depending on the transport protocol you have selected, you make specifications for the respective JMS provider. See the relevant JMS-provider documentation for details about the individual parameters. See also: JMS-Provider-Specific Settings

Processing Tab Page

JMS Settings

Parameter

Entry

Transactional JMS Session

If you want to use a transactional JMS session, set the indicator. Following processing of a message, a transactional session ends either with a COMMIT, or in the case of an error, with a ROLLBACK.

JMS Queue User

User for accessing the JMS queue

JMS Queue Password

Password (with confirmation) for accessing the JMS queue

JMS Message Selector

You use the JMS message selector to specify conditions that a JMS message in the specified JMS queue must meet in order to be processed by the sender adapter.

Link to external website

For more information about the JMS message selector, see java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html under javax.jms and Message.

 

Correlation Settings

Define which algorithm is to be used to create the message ID of a new XI message. The prerequisite for selecting an ID is that it is a GUID (globally unique identifier) according to ISO-11578.

Note

If the message ID is not a GUID, message processing will fail. This can cause message duplicates if the ID is not unique. Furthermore, if the GUID does not conform to ISO-11578, this can trigger a GUIDFormatException.

·         Set XI Message ID (MessageID) To:

¡        GUID (Recommended Value)

¡        JMSMessageID (Uniqueness Is JMS-Provider-Dependent)

¡        JMSCorrelationID (Uniqueness Is JMS-Sender-Dependent)

¡        JMSProperty (Uniqueness Is JMS-Sender-Dependent)

Enter the JMS Property Name. This value is set for the XI message ID.

If the JMSCorrelationID or JMSProperty are not set in the JMS message, a message ID is generated automatically.

·        If you have selected JMSMessageID, JMSCorrelationID, or JMSProperty and entered a JMS message ID in these fields, you should see the Remove 'ID:' Marker from JMSMessageIDindicator. Set the indicator.

This is necessary because the JMS specification stipulates that each JMS message ID starts with 'ID'. However, this conflicts with ISO-11578.

·        Set XI Conversation ID (ConversationID) To:

¡        No value

If you choose this setting, the XI conversation ID is not set.

¡        JMSMessageID (Uniqueness Is JMS-Provider-Dependent)

¡        JMSCorrelationID (Uniqueness Is JMS-Sender-Dependent)

¡        JMSProperty (Uniqueness Is JMS-Sender-Dependent)

Enter the JMS Property Name. This value is set for the XI message ID.

¡        Stored JMSCorrelationID of request

The saved JMSCorrelationID of the request is used.

For more information about the ConversationID, see: Parts of an XI Message, under ConversationID and RefToMessageID.

XI Settings

Parameter

Entry

Mapping of Message

If you want the JMS payload to contain the entire message, choose Entire Message = JMS Payload.

If you only want the JMS payload to contain the payload of the message, choose Message Payload = JMS Payload.

Quality of Service

Specifies how the Integration Engine/PCK will process a message.

·        Exactly Once (asynchronous processing with guaranteed execution exactly once)

·        Exactly Once In Order (asynchronous processing using queues, in other words guaranteed execution exactly once and maintaining the sequence of successive messages).

¡        Specify the Queue ID.

¡        Specify the Processing J2EE Cluster Server (Cluster ID).

This specification stops queue-jumping in the JMS queue. The valid cluster ID is located on the J2EE server – Administrator under Server.

Note

If you do not enter the cluster ID, the EOIO channel is activated automatically on a different working node. This configuration ensures node failover by the adapter in a clustered environment.

Time Period for Duplicate Check for EO(IO) (secs)

To check for duplicate messages, IDs must be saved in the database. To prevent the database from getting unnecessarily large, these IDs must be deleted after a certain amount of time.

Specify in seconds the time period after which you want IDs to be deleted (after one day, for example, if you check message monitoring daily).

Error Handling Settings

Parameter

Entry

Wait After Message Error (msecs)

Enter the number of milliseconds that the adapter must wait when a processing error occurs before further messages are processed.

In transactional processing, it can make sense to specify a certain time period, for example, because messages with errors remain in the queue following a ROLLBACK.

Wait Before Reconnect (msecs)

Specify a period of time after which an attempt will be made to reestablish a connection following a connection error on the JMS side.

The time period must be specified in milliseconds. No attempt is made if the value is set to -1.

Note

Your JMS provider must support the registration of an ExceptionListener for this.

 

Advanced Tab Page

Adapter-Specific Message Attributes

·        To store adapter attributes in the message header of the XI message, select Set Adapter-Specific Message Attributes.

·        To apply the following attributes in XI message headers, set the corresponding indicators:

Name

Technical Name

JMS Message Correlation ID

DCJMSCorrelationID

JMS Message Delivery Mode

DCJMSDeliveryMode

JMS Message Destination

DCJMSDestination

JMS Message Expiration

DCJMSExpiration

JMS Message ID

DCJMSMessageID

JMS Message Priority

DCJMSPriority

JMS Message Redelivered Flag

DCJMSRedelivered

JMS Message ReplyTo Destination

DCJMSReplyTo

JMS Message Time Stamp

DCJMSTimestamp

JMS Message Type

DCJMSType

Used JMS Message Selector

DCJMSMessageSelector

Used JMS Message Queue

DCJMSMessageQueue

JMS User

DCJMSUser

·        If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).

·        In the table, enter the names of the JMS message properties whose values are to be included in the message header of the XI message.

The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.

You can enter more than 10 properties in the table, but only the first 10 are taken into account.

The attribute namespace for the adapter is http://sap.com/xi/XI/System/JMS.

Adapter Status

Set the adapter to Active to enable messages to be exchanged.

Additional Parameters

To make additional settings or replace the default settings, enter the parameters and values in the table.

You can set the following parameters, for example:

Name

Value

JMSMessageClass

com.ibm.jms.JMSMessage

JMS.Message.method.setStringProperty

java.lang.String XAppId, java.lang.String myapp

You can set additional JMS parameters for all JMS providers.

 

 

 

End of Content Area