以下のシナリオは、通常処理、エラー処理、および実行タイムアウトにおける、 専用永続的ソケットでのコミット・モード 0 SYNC_SEND_RECEIVE 対話を表しています。
コミット・モード 0 SYNC_SEND_RECEIVE 対話がクライアント・アプリケーションによって実行されると、アプリケーション・サーバーは、ユーザー指定のクライアント ID が割り当てられた既存の接続を戻すか、あるいはユーザー指定のクライアント ID を使用して新規の接続を作成します。 ユーザー指定のクライアント ID によりソケット接続が識別され、OTMA 非同期保留キューに関連付けられた tpipe が識別されます。
IMS™ TM リソース・アダプター は、ソケットがその接続に関連付けられるようにして、そのソケットを使用して、入力データを含む要求を IMS Connect に送信します。 そして、IMS Connect が IMS に メッセージを送信し、それを受け取った IMS が トランザクションを実行して出力メッセージを戻します。 出力メッセージを受け取ると、IMS TM リソース・アダプターは ACK を IMS に送信します。 このメッセージは、IMS に対して、IMS キューからその出力を廃棄するように指示します。 接続が閉じたりアプリケーションが終了したりすると、接続が接続プールに戻され、 同じユーザー指定のクライアント ID でコミット・モード 0 の対話を実行している別の アプリケーションによって再利用されるようになります。
エラーが発生した場合には必ず、リソース例外がクライアント・アプリケーションにスローされます。 また、エラーによっては、IMS Connect によってソケットが切断される場合もあります。 コミット・モード 0 の対話の場合、例外は、出力メッセージをクライアント・アプリケーションに配信できないことを意味します。 配信されなかった出力は、ユーザー指定のクライアント ID と関連付けられた tpipe にキューイングされます。
プロパティー purgeAsyncOutput および reRoute は、専用永続的ソケットには 適用できません。配信されなかった出力メッセージを専用永続的ソケットで パージまたは転送することはできません。
実行タイムアウトが発生した場合、 ソケットはオープンしたままになり、コミット・モード 0 の対話からの出力は、 そのユーザー指定のクライアント ID に関連した tpipe にキューイングされ、後で検索されます。 接続が閉じたりアプリケーションが終了したりすると、IMSManagedConnection オブジェクトが接続プールに戻され、 同じユーザー指定のクライアント ID でコミット・モード 0 の対話を実行している別の アプリケーションによって再利用されるようになります。