Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


eesvgdef

〈このページの構成〉

名称

相手サービスグループ情報の定義

形式

{{eesvgdef  -g  サービスグループ名
              -h  ホスト名:ポート番号〔,ホスト名:ポート番号〕…
            〔-s  最大ソケット数〕
            〔-a〕
            〔-t RPC|DBQ|RAP〕
            〔-c〕
                  }}

機能

TP1/EEからTP1/Server Base下のSPPのサービスを利用する場合

そのSPPのサービスグループ名,SPPの存在するノードのホスト名,およびTP1/Server Baseのスケジュールサービス定義のscd_portオペランドに指定したポート番号を指定します。

TP1/EEからTP1/EEのサービスを利用する場合

サービスグループ情報関連定義のmysvgdef定義コマンドで指定したホスト名とポート番号を指定します。

DBキューを使用したシステム間通信をする場合

相手システムのサービスグループ名,ノードのホスト名,ポート番号,およびイベント通知をRPC通信とTCP/IP通信のどちらで行うかを指定します。

リモートAPI機能を使用して通信する場合

リモートAPI機能によるサービスの受信口のホスト名とポート番号を指定します。この場合,サービスグループに対してトランザクションとしてサービスを要求しても,非トランザクションモードとして処理されます。

複数のホスト名,複数のポート番号も指定できます。ただし,リモートAPI機能を使用して通信する場合,複数のホスト名,複数のポート番号を指定できません。また,複数のeesvgdef定義コマンドに同じサービスグループ名を指定すると,定義ファイルで先に記述されているeesvgdef定義コマンドの指定が有効になります。複数のeesvgdef定義コマンドに同じサービスグループ名を指定している場合に,複数のeesvgdef定義コマンドで-tオプションの指定が統一されていないときも,定義ファイルで先に記述されているeesvgdef定義コマンドの指定が有効になります。

TP1/EEは,UAPから呼び出されるee_rpc_call関数,およびee_rpc_cmtsend関数の第一引数に指定したサービスグループ名を,eesvgdef定義コマンドに指定されたサービスグループ名の中から検索します。サービスグループ名が一致するeesvgdef定義コマンドが見つかった場合,そのeesvgdef定義コマンドに指定されているホストとポート番号へサービス要求を送信します。

同一サービスグループ下に複数のホスト名を指定した場合は,TP1/EEはランダムにホストを選択してサービス要求を送信します。ネームサービスを使用した場合は,前回送信したホストを選択してサービス要求を送信し,送信に失敗した場合は残りのホストから順次選択します。該当するホストでサービス要求を受け付けられるコネクションがない場合は,残りのホストから順次選択します。すべてのホストでサービス要求を受け付けられない場合は,ee_rpc_call関数はエラーリターンします。ee_rpc_call関数,またはee_rpc_cmtsend関数で,自プロセスあてにサービス要求する場合は,自ホストの情報を定義する必要があります。

オプション

●-g サービスグループ名  〜〈1〜31文字の識別子〉

サービス要求するサービスグループ名を指定します。

●-h ホスト名:ポート番号

ホスト名  〜〈1〜255文字のホスト名〉

サービス要求するホスト名を指定します。ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとマッピングできるように指定する必要があります。

ポート番号  〜〈符号なし整数〉((1〜65535))

サービス要求するホストのポート番号を指定します。相手ホストがTP1/Server Baseの場合は,スケジュールサービスのポート番号を指定します。

●-s 最大ソケット数  〜〈符号なし整数〉((1〜32))《1》

ホスト単位に接続するソケットの最大数を指定します。

複数スレッドから同一サービスグループ名で送信要求をする場合,サービスグループ下のソケット数の合計は,処理スレッド数に1を加算した値より大きい値にすることをお勧めします。

TP1/Server Baseへサービス要求する場合は,TP1/Server Baseのスケジュールサービス定義のmax_socket_descriptorsオペランドの指定値に,使用するソケット数を追加してください。次に示すときは,-sオプションの指定は無効となります。

  • ネームサービスを使用した場合に,-tオプションの指定を省略するか,RPCを指定したとき

  • -tオプションにRAPを指定したとき

●-a

TP1/EEプロセス起動時に,相手ホストとのコネクションを自動確立する場合に指定します。相手ホストがTP1/Server Base下のSPPの場合,または相手ホストがコネクションを確立してから最初のメッセージを受信するまでの時間監視をしている場合は,-aオプションを指定しないでください。次に示すときは,-aオプションの指定は無効となります。

  • ネームサービスを使用した場合に,-tオプションの指定を省略するか,RPCを指定したとき

  • -tオプションにRAPを指定したとき

●-t RPC|DBQ|RAP  〜《RPC》

相手ホストとの通信で使用する通信形態を指定します。

RPC

RPC通信を使用します。

DBキュー機能で使用するホストの場合,DBキューを使用したシステム間通信をRPC通信によって行います。ただし,RPC関連定義のname_useオペランドの指定に関係なく,ネームサービスは使用しません。

DBQ

DBキューを使用したシステム間通信をTCP/IP通信によって行います。

DBQを指定した場合は,サービスグループ情報関連定義のmysvgdef定義コマンドの-tオプションでDBQを指定し,DBキューのイベント通知用のポートとホスト名の組み合わせを一つ以上指定してください。

ただし,TP1/EE 01-01と通信する場合は,-tオプションを指定しないでください。

RAP

リモートAPI機能を使用して通信します。

RAPを指定した場合,-hオプションで指定した値が,リモートAPI機能によるサービスの受信口の情報となります。-hオプションには,自プロセスのホスト名およびポート番号(RPC関連定義のrap_listen_portオペランドで指定)を指定しないでください。自プロセスのホスト名およびポート番号を指定した上でサービスを要求した場合の動作は保証しません。

●-c Cosminexus連携

RPC要求先がCosminexusの場合に指定します。このオプションを指定しなかった場合は,TP1/EE側のRPC要求送信が失敗,またはCosminexus側のRPC応答送信が失敗します。

RPC要求先がCosminexus以外の場合は,このオプションを指定しないでください。指定した場合の動作は保証しません。

このオプションを指定し,かつ,次のどちらかの条件を満たす場合は,KFSB61817-Eメッセージ(理由コード:60)を出力し,TP1/EEの起動が失敗します。

  • ネームサービス機能を使用していない(name_use=N)

  • 当該eesvgdefコマンド形式定義の-tオプションに「RPC」以外を指定している

このオプションを指定し,かつ,次の条件を満たす場合は,KFSB60353-Eメッセージ(理由コード:0010)を出力し,TP1/EEの起動が失敗します。

  • 他eesvgdefコマンド形式定義(「DBQ」と「UDP」は除く)で同一サービスグループ名を指定し,かつ,-cオプションが指定されていない