ソケット・タイムアウト値の設定

ソケット・タイムアウト値を設定する場合は、実行タイムアウト値よりも 大きな値にしなければなりません。

executionTimeout プロパティーは、IMS™ Connect が IMS に メッセージを送信し、IMS から 応答を受信するために許されている最大期間です。 ソケット・タイムアウト値は、実行タイムアウト値をカプセル化します。 したがって、ソケット・タイムアウト値には実行タイムアウト値よりも大きな値を 設定する必要があります。ソケット・タイムアウト値が実行タイムアウト値よりも 小さい値に設定されていると、ソケットに不要なタイムアウトが発生することがあるためです。 以下の表には、実行タイムアウト値に基づいた推奨のソケット・タイムアウト値が リストされています。

実行タイムアウト値 (ミリ秒) 実行タイムアウトの動作 ソケット・タイムアウトの推奨値
0 (または値なし) IMS Connect 構成ファイルのデフォルト値が使用されます。 ソケット・タイムアウト値には、IMS Connect 構成ファイルで指定された実行タイムアウトのデフォルト値よりも大きな値を 設定する必要があります。
1 から 3,6000,000 指定期間 (ミリ秒) が経過すると、待機応答がタイムアウトになります。 ソケット・タイムアウト値には、実行タイムアウト値よりも大きな値を設定する必要があります。
-1 待機応答は無期限です。 接続待機期間が無期限になるように、ソケット・タイムアウト値を 0 に設定します。

ソケット・タイムアウト値は 2 つの 方法を使用して設定できます。1 つは、JCA 共通クライアント・インターフェース (CCI) を 使用して、アプリケーションを作成するために IMSInteractionSpec で提供される getter および setter メソッドにアクセスする方法です。 もう 1 つは、オプションの J2EE コネクター・アーキテクチャー (J2C) 機能を 備えた Rational® Application Developer など、Rational Software Developer プラットフォームの IDE が提供するツールを使用する方法です。

CCI アプリケーションを使用 してソケット・タイムアウト値を設定する方法

CCI アプリケーションを作成している場合は、IMSInteractionSpec の setSocketTimeout メソッドにアクセスできます。setSocketTimeout メソッドを 使用する場合は、新しい IMSInteractionSpec のインスタンスを生成するか、 または特定の対話から IMSInteractionSpec を取得します。 次に、IMSInteractionSpec クラスで提供される setSocketTimeout メソッドを 使用して、IMSInteractionSpec のソケット・タイムアウト値を設定します。 以下に例を示します。

interactionSpec.setSocketTimeout(timeoutValue1);
interaction.execute(interactionSpec,input,output);

interactionSpec.setSocketTimeout(timeoutValue2);
interaction.execute(interactionSpec,input,output);

Rational Application Developer を使用してソケット・タイムアウト値を設定する方法

最初に新規の J2C Java™ Bean の IMS バインディング・ プロパティーを定義する際に、Rational Application Developer を使用してソケット・タイムアウト値を設定することができます。

新規の J2C Java Bean に対して既に定義されているオペレーション・バインディング・プロパティーを 編集するには、以下のステップを実行します。

  1. Java エディターを 使用して適切な IMS バインディング Java ファイルを 開きます。
  2. IMSInteractionSpec クラスのドックレット・タグを見つけます。
  3. socketTimeout プロパティーを追加するようにドックレット・タグを 変更して、このプロパティーに値を指定します。 このプロパティーがリストされている場合は、値を変更します。
  4. 変更を行ったことを示すために、そのオペレーション拡張性要素を再度選択します。
  5. エディターを閉じ、「はい」をクリックして、変更を保管します。

フィードバック