通信アダプタ用 Java CAPS プロジェクトコンポーネントの構成

TCP/IP アダプタのアウトバウンド接続マッププロパティーの設定

アウトバウンド TCP/IP アダプタプロパティーによって、アダプタの出力処理動作が決まります。アウトバウンド TCP/IP アダプタ接続マッププロパティーは、次の各セクションに編成されています。

一般アウトバウンド設定

一般アウトバウンド設定」プロパティーは、一般的な TCP/IP アウトバウンド設定情報を提供します。このセクションには、表 1–90 に示す最上位パラメータが含まれています。

表 1–90 接続マップ - 一般アウトバウンド設定

名前 

説明 

必要な値 

最大データサイズ

プログラムの内部に格納できるデータの最大量を指定します。 

有効な範囲は、1 から 2147483647 バイト (2G バイト — Java の整数の最大値) までです。 

デフォルト設定は 2147483647 です。 

状態のスコープ

OTD ノードである State オブジェクトのスコープを指定します。このパラメータのオプションは、次のとおりです。 

  • リソースアダプタレベル: State のライフサイクルはリソースアダプタと同じになります。

  • 持続化: State は、ファイルや DB などのストレージメディア内に持続化されます (このオプションを選択した場合、「持続状態ファイルの場所」を指定する必要がある)。

  • 接続レベル: State のライフサイクルは接続と同じになります。

  • OTD レベル: State のライフサイクルは OTD オブジェクトと同じになります。

    このスコープは State のライフサイクルを表します。

次のいずれかを選択します。 

  • リソースアダプタレベル

  • 接続レベル

  • OTD レベル

デフォルト設定は「リソースアダプタレベル」です。

TCPIP アウトバウンド設定

TCPIP アウトバウンド設定」プロパティーは、java の Socket のオプションを提供します。詳細については、JDK の Javadoc を参照してください。「TCP/IP アウトバウンド設定」プロパティーには、表 1–91 に示す最上位パラメータが含まれています。


注 –

SO_KEEPALIVE など、これらの基本設定によって参照されるオプションの完全な情報については、Sun Microsystems の対応する Java ドキュメントを参照してください。


表 1–91 接続マップ - TCPIP アウトバウンド設定

名前 

説明 

必要な値 

接続タイプ

アダプタによる TCP/IP 接続の確立方法を指定します。 

  • クライアント: アダプタは、外部サーバー (ホスト/ポート) に接続して接続を確立します。アダプタは能動モードになります。

  • サーバー: アダプタは、外部クライアントからの接続要求が受信されるまで特定のポート上で待機します。要求が受信されると、アダプタはその要求を受け付け、接続を確立します。アダプタは受動モードになります。

クライアント」または「サーバー」。「サーバー」がデフォルト設定です。「サーバー」モードが特に必要でないかぎり、この値はデフォルトの「クライアント」のままにしておいてください。

ServerSO タイムアウト

ServerSocket の SoTimeout の値をミリ秒で設定または取得します。ServerSocket.accept() で使用されます。このオプションをゼロ以外のタイムアウトに設定すると、この ServerSocketaccept() を呼び出した際に、その期間だけブロックが発生します。タイムアウトの期限が切れると、java.net.SocketTimeoutException (または java.net.InterruptedIOException) がスローされますが、ServerSocket は有効なままです。

ブロック動作に入る前に、このオプションを有効にしてください。このパラメータが使用されるのは、「接続タイプ」が「サーバー」に設定されている場合だけです。

SoTimeout 値をミリ秒で示す整数。

デフォルト値は 60000 ミリ秒 (60 秒) です。

このタイムアウトは 0 (ゼロ) より大きくする必要があります。タイムアウト値 0 は、タイムアウトが無限であると解釈されます。

キープアライブ

クライアントの SO_KEEPALIVE オプションが有効、無効のいずれであるかを指定します。

true または false。true は、サーバーの SO_KEEPALIVE オプションが有効であることを示します。

デフォルト設定は true です。

受信バッファーサイズ

現在のソケットに対するクライアントの SO_RCVBUF オプションの値を設定または取得できるようにします。これは、オペレーティングシステムがこのソケットの入力用に使用するバッファーのサイズです。これは、プラットフォームが受信ネットワーク入出力用に使用する配下のバッファーのサイズに関するヒントを設定します。

これを設定に使用すると、その値は、このソケット経由で受信されるデータ用に使用するバッファーのサイズに関する、アプリケーションからカーネルへの提案値になります。

これを取得に使用すると、プラットフォームがこのソケット上でのデータ受信時に実際に使用しているバッファーのサイズが返されます。

受信バッファーサイズを示す整数。 

デフォルト設定は 8192 です。

送信バッファーサイズ

現在のソケットに対するクライアントの SO_SNDBUF オプションの値を設定または取得できるようにします。これは、オペレーティングシステムがこのソケットの出力用に使用するバッファーのサイズです。

送信バッファーサイズを示す数値。 

デフォルト設定は 8192 です。

SoLinger

クライアントの SO_LINGER オプションが有効、無効のいずれであるかを指定します。

true または false。true の場合、SO_Linger オプションが有効になります。

SoLinger タイムアウト

クライアントの linger タイムアウトを秒で指定します。タイムアウトの最大値はプラットフォームに固有となります。この設定はソケットのクローズにのみ影響を与えます。 

linger タイムアウト (秒)。デフォルト設定は 30 秒ですが、これは、SO_LINGER オプションが無効であることを示します。

SoTimeout

クライアントの SO_TIMEOUT 値をミリ秒で設定または取得できるようにします。

SO_TIMEOUT 値 (ミリ秒)。

デフォルト設定値は 10000 ミリ秒 (10 秒) です。

TcpNoDelay

クライアントの TCP_NODELAY オプション (つまり、Nagle のアルゴリズム) が有効、無効のいずれであるかを指定します。

true または false。true を選択すると、TCP_NODELAY オプションが有効になります。

ソケットファクトリ実装クラス名

クライアントソケットファクトリを実装した Java クラスの名前を入力します。このクラスは、クライアントソケットを作成するために使用されます。ユーザー独自のクライアントソケット実装を用意した場合には、その実装を含む Java クラスの名前を入力します。ファクトリ実装クラスは、次のインタフェースを実装する必要があります。 


com.stc.connector.tcpip.model.factory.
TCPIPSocketFactory

有効な Java クラス名。デフォルトは次のとおりです。 


com.stc.connector.tcpip.model.
factory.TCPIPSocketFactoryIm
pl

TCPIP アウトバウンド設定 - 接続の確立

クライアント接続の確立」プロパティーは、接続の確立を制御するために使用される構成パラメータをいくつか定義します。

TCP/IP アウトバウンドアダプタの接続マッププロパティーのこのセクションには、表 1–92 に示す最上位パラメータが含まれています。


注 –

このセクションが使用されるのは、「接続タイプ」が「クライアント」に設定されている場合だけです。


表 1–92 接続マップ - TCPIP アウトバウンド設定 - クライアント接続の確立

名前 

説明 

必要な値 

接続試行までの待機時間

外部システムへの接続を試みるまでにアダプタが待機する時間の長さ (ミリ秒) を指定します。 

アダプタが接続を試みるまでの待機時間の長さ (ミリ秒) を示す数値。 

デフォルト設定は 0 です。

新しい接続を常に作成

アダプタが接続確立要求の受信時に常に新しい接続の作成を試みるかどうかを指定します。 

  • true は、アダプタが既存接続のマッチングを行わないで常に新しい接続の作成を試みることを示します。

  • false は、アダプタがコンテナによって管理されている既存接続のマッチングを試みることを示します。

true または false

デフォルト設定は false です。

マッチングエラー時に自動再接続

アダプタが条件に一致する接続をコンテナから取得したが、その接続が、外部アプリケーションのロジックのために外部側の接続がクローズ/リセットされるなど、さまざまな理由により有効でなくなっていた場合に、再接続を自動的に試みるかどうかを指定します。 

このプロパティーが有効になるのは、インテグレーションサーバーの接続プール内に既存の接続が存在している場合だけであり、プールが空の場合の初期トリガー中には有効になりません。 

  • true は、アダプタが条件に一致する無効な接続を破棄し、新しい接続を使って自動的に再接続を試みることを示します。

  • false は、アダプタが新しい接続を使って自動的に再接続を試みないことを示します。代わりに、例外がスローされ、アダプタから適切な警告が発行されます。ユーザーはこのタイプの障害を検出し、適切なアクションを実行する必要があります。

true または false

デフォルト設定は true です。

接続の最大再試行回数

アダプタが特定の外部 TCP/IP 宛先 (ホスト/ポート) への接続を試みる最大回数を指定します。この回数を超えるとアダプタは接続をあきらめます。 

アダプタが接続を試みる回数を示す整数。 

接続再試行間隔

特定の外部 TCP/IP 宛先 (ホスト/ポート) への複数の接続試行間でのアダプタの待機時間の長さ (ミリ秒) を指定します。 

複数の接続試行間でのアダプタの待機時間の長さをミリ秒で示す整数。デフォルト設定は 30000 (つまり 30 秒) です。

TCPIP アウトバウンド設定 - サーバーポートのバインディング

「サーバーポートのバインディング」セクションは、サーバーポートバインディングの制御に使用されるパラメータを定義します。このパラメータが使用されるのは、「接続タイプ」が「サーバー」に設定されている場合だけです。「TCP/IP アウトバウンド設定」 — 「サーバーポートのバインディング」プロパティーには、表 1–93 に示す最上位パラメータが含まれています。

表 1–93 接続マップ - TCPIP アウトバウンド設定 - サーバーポートのバインディング

名前 

説明 

必要な値 

バインディングの最大再試行回数

localhost 上の指定された TCP/IP ポートへのバインドをアダプタが試みる最大回数を指定します。 

localhost 上の指定された TCP/IP ポートへのバインドの再試行回数を示す整数。 

バインディングの再試行間隔

localhost 上の指定された TCP/IP ポートへの複数のバインド試行間での、アダプタの待機時間の長さ (ミリ秒) を指定します。 

アダプタが指定された TCP/IP ポートにバインドするまでの時間の長さをミリ秒で示す整数。 

デフォルト設定は 30000 (30 秒) です。

TCPIP アウトバウンド設定 - エンベロープメッセージ

これらのプロパティーは、アウトバウンドアダプタのエンベロープメッセージ形式の設定です。これらのプロパティーは、インバウンドアダプタの場合と同じように動作します。

ここでは、サーバーのエンベロープメッセージ形式プロパティーについて説明します。これらのプロパティーはすべて、TCP/IP エンベロープ処理に関連するものです。TCP/IP アウトバウンドアダプタの接続マッププロパティーのこのセクションには、表 1–94 に示す最上位パラメータが含まれています。

表 1–94 接続マップ - TCPIP アウトバウンド設定 - エンベロープメッセージ

名前 

説明 

必要な値 

エンベロープタイプ

エンベロープタイプを指定します。エンベロープタイプは、メッセージの開始位置と終了位置を定義します。 

エンベロープタイプを示す次のプロパティーのいずれかを入力します。 

  • 開始と終了をマーク

  • 終了をマーク

  • 長さを固定

  • 長さを先頭に付加

  • マークおよび固定

  • アクティブな接続ごと

  • カスタム

デフォルトは「開始と終了をマーク」です。

開始と終了をマーク」はプロパティー「読み取るバイト数」、「ignore-until 文字の値」、および「store-until 文字の値」によってサポートされます。

終了をマーク」はプロパティー「store-until 文字の値」によってサポートされます。

長さを固定」はプロパティー「読み取るバイト数」によってサポートされます。

長さを先頭に付加」はプロパティー「長さの幅」および「数値表現」によってサポートされます。

マークおよび固定」はプロパティー「読み取るバイト数」、「ignore-until 文字の値」、および「store-until 文字の値」によってサポートされます。

アクティブな接続ごと」はプロパティー「アクティブな接続ごと」によってサポートされます。

カスタム」はプロパティー「カスタムエンベロープクラス名」および「カスタム定義プロパティー」によってサポートされます。

最適なパフォーマンスが得られるように、すべてのエンベロープメッセージでメソッド receiveEnvelopedMsg() を使用してください。このメソッドでは終了条件としてエンベロープが使用されるのに対し、ほかの受信メソッド receiveBytes() および receiveString() では終了条件としてタイムアウトが使用されます。


注 –

マークおよび固定を除くすべてのエンベロープタイプでは、データはペイロードにすぎません。このエンベロープタイプでのデータの処理方法については、「マークおよび固定」を参照してください。


カスタムエンベロープクラス名

エンベロープタイプ」プロパティーが「カスタム」に設定された場合に使用される Java クラス名を指定します。

Java クラスを使って作成したカスタムエンベロープを使用する場合、そのクラスを含む Java JAR ファイルを、コラボレーションエディタのファイルインポート機能を使って目的とする任意のコラボレーション内にインポートできます。 

このクラス名は、com.abc.MyClass などの完全修飾クラス名にすべきです。このクラスが実装する必要のあるインタフェースは、次のとおりです


com.stc.connector.tcpip.ext.msg.EnvelopedMsgReceiver

および 


com.stc.connector.tcpip.ext.msg.EnvelopedMsgSender

詳細については、「カスタマイズされたエンベロープ処理」を参照してください。

完全な Java クラス名。 

完全修飾クラス名。「エンベロープタイプ」が「カスタム」でない場合は「なし」。

デフォルト設定は「なし」です。

カスタム定義プロパティー

「エンベロープタイプ」の値が「カスタム」に設定された場合に使用されます。一連のユーザー定義パラメータを指定します。区切り文字を含むこの情報を解析し、カスタマイズされたエンベロープメッセージ実装を生成することができます。

テキスト文字列。 

読み取るバイト数

次のエンベロープタイプで使用されます。 

  • 長さを固定

  • マークおよび固定

読み取るバイト数を指定します。アダプタが受信するイベントの長さはすべて同じであると仮定されています。 

バイト数を示す整数。 

デフォルト設定は 1 です。

長さの幅

「エンベロープタイプ」の値が「長さを先頭に付加」の場合に使用されます。エンベロープ長の幅を指定します。言い換えると、これは、長さのフィールドを表現するために使用される桁数を指定します。

1 から 10 までの範囲の整数。このプロパティーは、「ネットワーク short」の場合は 2 に、「ネットワーク long」の場合は 4 に、それぞれ設定する必要があります。

デフォルト設定値は 1 です。

数値表現

「エンベロープタイプ」の値が「長さを先頭に付加」の場合に使用されます。先頭に付加される長さの数値をどのような方法で表現するかを指定します。この値は、次のいずれかの形式で表現されます。

  • 10 進数

  • 16 進数

  • 8 進数

  • ネットワーク short

  • ネットワーク long

次のいずれかを選択します。 

  • 10 進数

  • 16 進数

  • 8 進数

  • ネットワーク short

  • ネットワーク long

デフォルト設定は「10 進数」です。

ignore-until 文字の値

エンベロープタイプ「開始と終了をマーク」および「マークおよび固定」で使用されます。ignore-until (開始ブロックと同じ) 文字の値を指定します。この文字が検出されるまで、すべての受信文字が無視されます。

10 進 ASCII 番号。指定可能な範囲は、1 から 127 までです。 

デフォルト設定は 11 です。

store-until 文字の値

エンベロープタイプ「開始と終了をマーク」、「終了をマーク」、および「マークおよび固定」で使用されます。エンベロープの終了ブロックまたはマーカーの位置にある文字を指定します。この文字が検出されるまで、すべての受信文字が格納されます。

10 進 ASCII 番号。指定可能な範囲は、1 から 127 までです。 

デフォルト設定は 12 です。