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

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

インバウンドプロパティー設定によって、アダプタの入力処理動作が決まります。

接続マップからアクセスされる TCP/IP インバウンドアダプタの構成パラメータは、次の各セクションに編成されています。

次の節では、アダプタのアップグレードについて簡単に説明します。

一般インバウンド設定

一般インバウンド設定」プロパティーは、サーバーの専用セッションモードおよび最大データサイズメッセージ設定を提供します。このセクションには、表 1–82 に示す最上位パラメータが含まれています。

表 1–82 接続マップ - 一般インバウンド設定

名前 

説明 

必要な値 

最大データサイズ

プログラムの内部に格納できるデータの最大サイズを定義できるようにします。 

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

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

状態のスコープ

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

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

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

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

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

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

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

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

  • 接続レベル

  • OTD レベル

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

専用セッションモード

アダプタの専用セッションモードを有効化または無効化できるようにします。サーバーで専用セッションモードが有効になっている場合、現在のクライアントの要求が接続先のサーバーポートを占有することができます。 

たとえば、このプロパティーが有効になった状態でクライアントがサーバーに接続した場合、作業が完了してセッションが切断されるまで、サーバーはそのクライアントだけにサービスを提供します。 この期間内に別のクライアントがサーバーへの接続を試みても、セッションが完了するまでそのクライアントは接続を行えません。 

true または false を選択します。true は、専用セッションモードが有効であることを示します。

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

TCPIP インバウンド設定

TCPIPインバウンド設定」プロパティーは、サーバーの基本的な TCP/IP 値を提供します。「TCP/IP インバウンド設定」プロパティーには、表 1–83 に示す最上位パラメータが含まれています。

表 1–83 接続マップ - TCPIP インバウンド設定

名前 

説明 

必要な値 

接続タイプ

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

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

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

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

ServerSO タイムアウト

サーバーの SO_TIMEOUT 値をミリ秒で設定または取得できるようにします。

サーバーの SO_TIMEOUT 値の単位はミリ秒です。

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

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

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


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

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


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

キープアライブ

サーバーの SO_KEEPALIVE オプションが有効、無効のいずれであるかを指定します。これは、受け付けられたクライアントソケットで使用されます。


注 –

一部のプロパティーについては、その設定がサーバーソケット自体には直接関連付けられません。代わりに、プロパティーマップには、受け付けられたクライアントソケットに関連付けられた直接的なプロパティー設定が含まれます。


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

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

受信バッファーサイズ

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

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

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

送信バッファーサイズ

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

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

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

SoLinger

サーバーの SO_LINGER オプションが有効、無効のいずれであるかを指定します。受け付けられたクライアントソケットで使用されます。

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

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

SoLinger タイムアウト

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

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

SoTimeout

サーバーの SO_TIMEOUT 値をミリ秒で設定または取得できるようにします。受け付けられたクライアントソケットで使用されます。

タイムアウト 0 (ゼロ) は、タイムアウトが無限であることを示します。この値を指定すると、アダプタは読み取りをいつまでも続けます。このアクションが発生すると、そのことがアダプタのログファイルに記録されます。 

SO_TIMEOUT 値 (ミリ秒)。

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

TcpNoDelay

サーバーの TCP_NODELAY オプション (つまり、Nagle のアルゴリズム) が有効、無効のいずれであるかを指定します。受け付けられたクライアントソケットで使用されます。

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

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

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

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

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

名前 

説明 

必要な値 

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

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

バインドの試行回数を示す整数。 

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

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

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

複数の試行間でのアダプタの待機時間の長さをミリ秒で示す整数。 

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

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

クライアント接続の確立」プロパティーは、接続の確立を制御するために使用される構成パラメータをいくつか定義します。このセクションが使用されるのは、「接続タイプ」が「クライアント」に設定されている場合だけです。

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

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

名前 

説明 

必要な値 

接続試行までの待機時間

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

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

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

TCPIP インバウンド設定 - インバウンド接続の管理

インバウンド接続の管理」プロパティーは、インバウンドサーバー接続の管理に使用されるパラメータを定義します。たとえば、受け付けられた接続の接続プールやライフサイクルなどです。

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

表 1–86 接続マップ - TCPIP インバウンド設定 - インバウンド接続の管理

名前 

説明 

必要な値 

最大接続プールサイズ

指定された TCP/IP ポート上で待機しているかそのポートを監視している特定のリスナー/モニターに許可される、同時接続の最大数を指定します。これは、このサーバーのサービスの能力または可用性を表します。クライアントからの接続要求ごとに 1 つの同時接続が割り当てられます。また、このパラメータは、このサーバーのサービスに同時に接続し、特定のリスナー/モニターのサービスを同時に受けることができるクライアントの最大数も表します。 

特定の TCP/IP ポートで 1 つのリスナー/モニターから使用可能な同時接続の最大数を示す数値。0 は、制限がないことを示します。

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

接続のスコープ

アダプタが使用している受け付けられた接続のスコープを指定します。次の 2 つのオプションがあります。 

  • リソースアダプタレベル: リソースアダプタがクローズ要求を受け取ると、リソースアダプタは接続を閉じます。したがって、コラボレーションが複数回実行される間、接続が「キープアライブ」状態に保たれる可能性があります。

  • コラボレーションレベル: コラボレーションの実行が完了すると接続が閉じられます。したがって、接続のライフサイクルはコラボレーションと同じになります。

リソースアダプタレベル」または「コラボレーションレベル」を選択します。

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

クローズ通知

クローズ通知の値を指定します。サーバーは、このパラメータの値に一致する内容を含む通知を受け取ると、接続を安全に閉じ、対応するすべてのスケジュールを取り消します。 

接続を閉じるようにサーバーに通知するトリガー値を示す文字列。 

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

アイドルタイムアウト

リクエスタ (クライアント) の非活動時間の長さ (ミリ秒) を指定します。アダプタは、クライアント側 (接続の反対側) の活動状態の検出を試みます。指定された期間中にクライアントの活動がなかった場合 (その接続経由でクライアントから入出力要求が到着しなかった場合)、その接続はサーバー側から閉じられ、リソースが解放されます。値の単位はミリ秒です。 

リクエスタ (クライアント) の非活動時間の長さ (ミリ秒) を示す整数。この時間を過ぎるとサーバー側から接続が閉じられ、リソースが解放されます。値 0 を指定すると、アイドルタイムアウトは無効になります。

デフォルト設定は 60000 (1 分) です。

TCPIP インバウンドスケジュール - リスナースケジュール

このセクションでは、インバウンド TCP/IP サーバーによって使用されるスケジューラを設定します。サーバーは、新しいクライアント接続確立要求の到着を待ちます。これらのパラメータは、指定されたポート上で待機するリスナー/モニターを設定するために使用されます。

使用可能な J2EE スケジューラは次の 2 つです (「スケジューラ」を参照)。

どちらのスケジューラも、インバウンド TCP/IP サーバーが必要とする機能を提供します。

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

表 1–87 接続マップ - TCPIP インバウンドスケジュール - リスナースケジュール

名前 

説明 

必要な値 

スケジューラ

このインバウンド通信のスケジューラのタイプを指定します。次の 2 つのオプションがあります。 

  • タイマーサービス: このスケジューラの設定は、「固定レートで」、「遅延」、および「期間」プロパティーを使って行われます。

  • 作業マネージャー: J2EE の作業マネージャー経由でタスクのスケジューリングが行われます。作業マネージャーは J2EE (JCA 1.5 以上) でサポートされます。このスケジューラの設定は、「遅延」および「期間」プロパティーを使って行われます

タイマーサービス」または「作業マネージャー」を選択します。使用するコンテナが JCA 作業マネージャーをサポートしていない場合は、「タイマーサービス」を選択します。

スケジュール型

このプロパティーの設定は、プロパティーエディタから確認はできるものの、無効になっています。使用できるスケジュール型は「繰り返し」だけですが、これは、このセクションの「期間」プロパティー (「期間」を参照) で定義される一定間隔でタスクが繰り返し実行されるようにスケジューリングされることを示します。

このプロパティーは無効になっています。 

遅延

タイマーサービス作業マネージャーの両方に適用されます。タスクが実行されるまでの遅延時間の長さをミリ秒で指定します。

タスクが実行されるまでの時間の長さをミリ秒で示す整数 (1000 ミリ秒は 1 秒に等しい)。 

期間

連続する繰り返しタスク実行間の一定間隔をミリ秒で指定します。これは、「繰り返し」スケジュール型で使用されます。「スケジュール型」参照してください。タイマーサービス作業マネージャーの両方に適用されます。

連続するタスク実行間の時間の長さをミリ秒で示す整数。 

正の整数を入力します。デフォルト設定は 100 です。この値を小さくすると、1 秒あたりのトランザクション数が増える可能性があります。

固定レートで

タイマーサービスだけに固有です。固定レート実行、固定遅延実行のいずれを使用するかを指定します。

  • 固定レート: 固定レート実行は、初期実行のスケジュール時刻を基準にして各実行のスケジューリングが行われることを意味します。ある実行が、ガベージコレクションやその他のバックグラウンドアクティビティーなど、何らかの理由によって遅れると、その遅れを取り戻すために、すぐに続けて 2 つまたはそれ以上の実行が発生します。長期的には、実行頻度は指定された期間のちょうど逆数になります (ただし、Object.wait(long) の配下のシステムクロックが正確である場合)。

  • 固定遅延: 固定遅延実行は、1 つ前の実行の実際の時刻を基準にして各実行のスケジューリングが行われることを意味します。ある実行が、ガベージコレクションやその他のバックグラウンドアクティビティーなど、何らかの理由によって遅れると、後続の実行も遅れませす。その結果、Object.wait(long) の配下のシステムクロックが正確であると仮定すると、実行頻度は通常、指定された期間の逆数よりもやや低くなります。

true または false。true は、固定レート実行が使用されることを示します。false は、固定遅延実行が使用されることを示します。

TCPIP インバウンド設定 - サービススケジュール

このセクションでは、既存の接続上でビジネスタスク (コラボレーションルール) を実行する TCP/IP サーバーによって使用されるスケジューラを設定します。このスケジューラは、ユーザーが定義した実際のビジネスルールに影響を与えます。

使用可能な J2EE スケジューラは次の 2 つです (「スケジューラ」を参照)。

どちらのスケジューラも、インバウンド TCP/IP サーバーが必要とする機能を提供します。

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

表 1–88 接続マップ - TCPIP インバウンド設定 - サービススケジュール

名前 

説明 

必要な値 

スケジューラ

このインバウンド通信のスケジューラのタイプを指定します。次の 2 つのオプションがあります。 

  • タイマーサービス: このスケジューラの設定は、「固定レートで」、「遅延」、および「期間」プロパティーを使って行われます。

  • 作業マネージャー: J2EE の作業マネージャー経由でタスクのスケジューリングが行われます。作業マネージャーは J2EE (JCA 1.5 以上) でサポートされます。このスケジューラの設定は、「遅延」および「期間」プロパティーを使って行われます。

タイマーサービス」または「作業マネージャー」を選択します。使用するコンテナが JCA 作業マネージャーをサポートしていない場合は、「タイマーサービス」を選択します。

スケジュール型

タイマーサービス作業マネージャーの両方に適用されます。タスクが 1 回実行されるようにスケジューリングするか、あるいは繰り返し実行されるようにスケジューリングするかを指定します。

  • 1 回: タスクが 1 回実行されるようにスケジューリングされます。

  • 繰り返し: このセクションの「期間」プロパティーで定義される一定間隔でタスクが繰り返し実行されるようにスケジューリングされます (「期間」を参照)。

1 回」または「繰り返し」を選択します。

遅延

タイマーサービス作業マネージャーの両方に適用されます。タスクが実行されるまでの遅延時間の長さをミリ秒で指定します。

タスクが実行されるまでの時間の長さをミリ秒で示す整数 (1000 ミリ秒は 1 秒に等しい)。 

期間

連続する繰り返しタスク実行間の待機間隔をミリ秒で指定します。これは、スケジュール型が「繰り返し」の場合に使用されます (「スケジュール型」を参照)。タイマーサービス作業マネージャーの両方に適用されます。

連続するタスク実行間の時間の長さをミリ秒で示す整数 (1000 ミリ秒は 1 秒に等しい)。 

正の整数を入力します。デフォルト設定は 100 です。この値を小さくすると、1 秒あたりのトランザクション数が増える可能性があります。

固定レートで

タイマーサービスだけに固有です。固定レート実行、固定遅延実行のいずれを使用するかを指定します。これは、「タイマーサービス」スケジューラの「繰り返し」スケジュール型で使用されます。

  • 固定レート: 固定レート実行は、初期実行のスケジュール時刻を基準にして各実行のスケジューリングが行われることを意味します。ある実行が、ガベージコレクションやその他のバックグラウンドアクティビティーなど、何らかの理由によって遅れると、その遅れを取り戻すために、すぐに続けて 2 つまたはそれ以上の実行が発生します。長期的には、実行頻度は指定された期間のちょうど逆数になります (ただし、Object.wait(long) の配下のシステムクロックが正確である場合)。

  • 固定遅延: 固定遅延実行は、1 つ前の実行の実際の時刻を基準にして各実行のスケジューリングが行われることを意味します。ある実行が、ガベージコレクションやその他のバックグラウンドアクティビティーなど、何らかの理由によって遅れると、後続の実行も遅れませす。その結果、Object.wait(long) の配下のシステムクロックが正確であると仮定すると、実行頻度は通常、指定された期間の逆数よりもやや低くなります。

true または falsetrue は、固定レート実行が使用されることを示します。false は、固定遅延実行が使用されることを示します。

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

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

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

名前 

説明 

必要な値 

エンベロープタイプ

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

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

  • 開始と終了をマーク

  • 終了をマーク

  • 長さを固定

  • 長さを先頭に付加

  • マークおよび固定

  • アクティブな接続ごと

  • カスタム

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

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

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

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

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

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

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

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


注 –

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


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

エンベロープタイプ」プロパティーが「カスタム」に設定された場合に使用される 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 です。

Java CAPS 5.1.x から 6 へのアップグレード手順

バージョン 6 では、新しいバージョンの設定テンプレートが使用されます。以前の 5.1.x プロジェクトが、インポートされるか最新版への「インプレイスアップグレード」を経験する場合、その設定テンプレートが設計時または構築時にアップグレードされます。

設計時に接続マップまたは環境プロパティーのウィンドウを開くと、次の図に示すような警告ウィンドウが表示され、設定テンプレートが自動的にアップグレードされます。変更を一切行わないで環境プロパティーを更新し、プロジェクトを実行できるようになりました。

図 1–3 選択テンプレート警告ウィンドウ

選択テンプレート警告ウィンドウ

接続マップまたは環境プロパティーのウィンドウを先に開かないでプロジェクトの構築を試みた場合、コード生成時に設定テンプレートが自動的にアップグレードされます。この構築時アップグレードシナリオが完了すると、警告ウィンドウが表示されることは二度となくなります。