次のトピックでは、IMS アダプタのクライアント ID の設定について説明します。
このモードでは、複数の要求を同時に処理するように IMS アダプタが設定されます (並列モード)。
「IRM_Header」セクションのクライアント ID を、末尾に 1 つ以上のアスタリスクを含む文字列 (たとえば、「SUN*」) に設定します。
アダプタは、ランダムに生成した英数文字を使用してクライアント ID 文字列の残りを生成します。クライアント ID の長さは 8 です。静的なクライアント ID を使用し、使用している IMS 外部システムが同じ IMS Connect に接続するように設定されている場合は、クライアント ID が 配備間で一意である必要があります。
「IRM_Header」セクションの「IRM_SOCT」を「Persistent」に設定します。
これによって、アダプタは物理接続を保持し、接続プールをリソースアダプタとして使用できるようになります。このパラメータを「Persistent」に設定せず、「*」による動的生成を使用するようにクライアント ID を設定した場合は、プロトコルエラーが発生します。
並列モードでは、「IRM_SOCT」のほかのタイプを使用できません。前述のように、「Persistent」を使用しないとプロトコルエラーが発生します。
確認応答の表現 (「IRM_F4」の ACK/NAK 応答) については、前述のパラメータに加えて次の追加パラメータを設定する必要があります。
このモードでは、一度に 1 つの要求を処理するように IMS アダプタが設定されます。複数の要求が IMS アダプタの内部ロックメカニズムによって直列化されます。
「IRM_Header」セクションのクライアント ID を、アスタリスクを含まない文字列 (たとえば、「SUNIMS」) に設定します。
アダプタは、ランダムに生成した英数文字を使用してクライアント ID 文字列の残りを生成します。クライアント ID の長さは 8 です。静的なクライアント ID を使用し、使用している IMS 外部システムが同じ IMS Connect に接続するように設定されている場合は、クライアント ID が 配備間で一意である必要があります。
確認応答の表現 (「IRM_F4」の ACK/NAK 応答) については、前述のパラメータに加えて次の追加パラメータを設定する必要があります。
IMS Connect の対話を特定のポートに送信すると、そのポートですでに使用されているクライアント ID を使用したときにエラーが発生します。これは、ソケットのタイムアウトによって終了した別の対話で使用されていたのと同じクライアント ID との対話を実行しているときに発生します。IMS Connect がソケットのタイムアウトを受信した元の対話に関して IMS からの応答を待機している間にこの新しい対話を受信すると、クライアント ID の重複エラーが発生する可能性があります。
また、元の対話で使用されていたソケットのタイムアウトが「IRM_TIMER」で設定されたタイムアウトまたは HWSCFGxx メンバーで設定される IMS Connect のデフォルトのタイムアウトよりも小さい値に設定された場合にも発生する可能性があります。IMS Connect は、ソケットのタイムアウトによって元のソケットが切断されたことを、そのソケットに対する読み取りを次に実行するまで認識しません。つまり、IMS Connect は元のソケットがすでにクライアント側から切断されていても、そのソケットがまだアクティブであるとみなします。このような状況になった場合は、IMS Connect 側で「IRM_TIMER」が時間切れになるまで、DUPECLNT エラーを受信します。
クライアント ID とタイマーの問題の詳細は、『IMS Connectivity in the On Demand Environment - A Practical Guide to IMS Connectivity』(IBM Publication SG24-6794-00) を参照してください。