You configure the receiver JMS adapter to be able to convert PI messages from the Integration Server or the PCK into JMS messages.
This selection is not available in the PCK.
Defining Connection Parameters
connection settings are specified in thetable.
By default, JMS provider enables the queue support.
Extra connection parameters can be specified in the Additional Parameters table of the Advanced tab page. Depending on the third party JMS provider, you may need to set a unique ClientID (for each channel) using the additional parameter table.
The function for setting the ClientID is provider-specific.
Defining Connection On Demand
Initial Context Properties
Now this can be specified as:
Name |
Value |
propertyName |
propertyValue |
Both propertyName and propertyValue are Strings.
This table is available only if you select the Transport Protocol as JNDI JMS Provider Lookup .
Defining JMS Settings
The transactional JMS Session is the default setting and is recommended. If you do not use this setting, then the message delivery is not guaranteed.
The message can be lost in such a case
Following processing of a message, a transactional session ends either with a COMMIT, or in the case of an error, with a ROLLBACK.
Defining Correlation Settings
Defining PI Settings
Select Handling of Pending PI Messages:
A duplicate data record is created if the JMS commit is executed, but not the commit in the database of the Adapter Framework. If you select this option, you must make sure that this message has not yet been received in the JMS environment.
The message is lost if the JMS commit is not yet executed. If you select this option, you must make sure that this message has already been received in the JMS environment.
For an example of how this parameter is used, see below under Example.
To check for duplicate messages, IDs must be saved in the database. To prevent the database from getting unnecessarily large, these IDs are deleted after a certain amount of time.
For example, if you check message monitoring daily, deletion can take place after one day.
Defining Error Handling Settings
In transactional processing, for example, it can make sense to specify a certain time period, because messages with errors remain in the queue following a ROLLBACK.
If you enter -1, no attempt is made to reestablish the connection.
Your JMS provider must support the registration of an ExceptionListener for this.
If a JMS exception is thrown when sending a message, the free text specified here is compared with the specified string. Once the period of time specified in Wait Before Reconnect (msecs) has passed, an attempt is made to reestablish the connection.
Only set this parameter if your JMS provider does not support the registration of an ExceptionListener.
Defining Adapter-Specific Message Properties
If the indicator is set and the header for adapter-specific message attributes or one of the set attributes is missing from the message, this leads to a delivery exception in the audit log of the message.
If you do not set the indicator, and message attributes are missing, the adapter accesses information from the adapter configuration.
Under Java Type, you define the JMS Java message type for the attribute in the created JMS message. You can enter the following:
The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.
You can enter more than ten properties in the table. However, only the first ten are taken into account.
The attribute namespace for the adapter is http://sap.com/xi/XI/System/ JMS.
Defining the Adapter Status
Active
Defining Additional Parameters
For example, if you are connecting to a third party JMS provider you can enter the client ID and its corresponding value for each channel. However, these are specific to the third party provider.
For more information refer to the documentation of the third party provider.
Below is a typical procedure for handling pending messages:
...The channel is configured to throw a recoverable, temporary error for this warning (default). Decide whether you want to bypass this message. If so, set the Pending Handling channel parameter to 'Bypass' and restart the message afterwards.
If some messages have arrived in the JMS environment and some have not, you must perform the procedure twice and resend the respective messages in each case.