Configuring Java CAPS Environment Components for Communications Adapters

Configuring the Client ID for the IMS Adapter

The following topics describe the configuration of Client IDs for the IMS Adapter.

ProcedureTo configure the IMS Adapter for Parallel Processing

In this mode, the IMS Adapter is configured to handle multiple requests simultaneously (parallel mode).

  1. Set the Client ID in the IRM_Header section to a string which contains one or more trailing asterisks. For example, “SUN*”.

    The Adapter will generate the rest of the Client ID string filling it with randomly generated alphanumeric characters. The length of the Client ID is 8. If you use a static Client ID, it must be unique (across deployments) if the IMS external systems which are being used are configured to connect to the same IMS Connect.

  2. Set the IRM_SOCT in the IRM_Header section to Persistent.

    This allows the Adapter to retain the physical connection so that it can leverage the use of connection pooling as a resource adapter. If this is not set to Persistent and the Client ID is configured to use dynamic generation (that is, with an “*”), then a protocol error will occur.

    No other IRM_SOCT type can be used in parallel mode; as noted a protocol error will result if Persistent is not used.

    For the acknowledgement response expression (IRM_F4 - ACK/NAK Response), the following additional parameters must be set (in addition to the above):

    1. Set the IRM_F2 (commit mode) to COMMIT_MODE_0.

    2. Set the IRM_F3 (sync level) to SYNC_LEVEL_CONFIRM.

ProcedureTo Configure the IMS Adapter for Serialized Processing

In this mode, the IMS Adapter is configured to handle one single request at a time. Multiple requests are serialized by the IMS Adapter through an internal locking mechanism.

  1. Set the Client ID in the IRM_Header section to a string which does NOT contain an asterisk. For example, “SUNIMS”.

    The Adapter will generate the rest of the Client ID string filling it with randomly generated alphanumeric characters. The length of the Client ID is 8. If you use a static Client ID, it must be unique (across deployments) if the IMS external systems which are being used are configured to connect to the same IMS Connect.

    For the acknowledgement response expression (IRM_F4 - ACK/NAK Response), the following additional parameters must be set (in addition to the above):

    1. Set the IRM_SOCT to Transaction.

    2. Set the IRM_F2 (commit mode) to COMMIT_MODE_0.

    3. Set the IRM_F3 (sync level) to SYNC_LEVEL_CONFIRM.

Duplicate Client IDs

When sending an IMS Connect interaction on a given port, an error will occur when using a ClientID which is already in use on that port. This can happen when you are executing an interaction with a ClientID, which is the same as that used by another interaction that ended as a result of a socket timeout. If this new interaction is received by IMS Connect while IMS Connect is still waiting for a response from IMS for the original interaction that received the socket timeout, a duplicate ClientID error could occur.

This can also occur if the socket timeout being used for the original interaction is set to a value which is less than the timeout set by the IRM_TIMER or the IMS Connect default timeout (set in the HWSCFGxx member). IMS Connect is not aware that the original socket has been disconnected as a result of the socket timeout until it does a subsequent read on that socket. This means it would consider the original socket still active, even though that socket has already been disconnected from the client end. Once you get to this situation, you will receive DUPECLNT errors until the IRM_TIMER expires on the IMS Connect side.


Note –

For a full discussion of Client ID and timer issues, refer to IMS Connectivity in the On Demand Environment - A Practical Guide to IMS Connectivity (IBM Publication SG24-6794-00).