機能
通信相手となるサービスグループの情報,および通信方法を指定します。
コマンドの形式
通信方法によって,指定できるオプションが異なります。通信方法の指定を次に示します。
- 通信方法がRPC,DBQ,またはRAPの場合
{{eesvgdef -g サービスグループ名
-h ホスト名:ポート番号〔,ホスト名:ポート番号〕…
〔-s ソケット数〕
〔-a〕
〔-t {RPC|DBQ|RAP}〕
}}
- 通信方法がUDPの場合
{{eesvgdef -g サービスグループ名
-u あて先UDPグループ名
-t UDP
}}
オプションの説明
- ●-g サービスグループ名
- ~〈1~31文字の識別子〉
- サービス要求を行うサービスグループ名を指定します。
- ●-h ホスト名:ポート番号
- -tオプションにUDP以外を指定した場合,サービス要求先のホスト名およびポート番号を指定します。
- ホスト名
~〈1~255文字のホスト名〉
サービス要求を行うホスト名を指定します。-tオプションにRAPを指定した場合は,リモートAPI機能によるサービスの受信口となるホスト名を指定してください。
ホスト名は,/etc/hostsファイルまたはDNSなどで,IPアドレスとのマッピングができなければなりません。
- ポート番号
~〈符号なし整数〉((1~65535))
サービス要求を行うホストのポート番号を指定します。相手ホストがTP1/Server Baseの場合は,スケジュールサービスのポート番号を指定してください。-tオプションにRAPを指定した場合は,リモートAPI機能によるサービスの受信口となるポート番号を指定してください。
- TP1/EEからTP1/Server Base管理下のSPPのサービスを利用する場合,そのSPPのサービスグループ名とそのSPPが存在するノードのホスト名,およびスケジュールサービス定義のscd_portオペランドに指定したポート番号を指定します。リモートAPI機能を使用して通信する場合(-tオプションにRAPを指定する場合)は,リモートAPI機能によるサービスの受信口のホスト名とポート番号を指定します。
- TP1/EEからTP1/EEのサービスを利用する場合,自サービスグループ情報定義のmysvgdef定義コマンドで指定したホスト名とポート番号を指定します。
- -hオプションには,複数のホスト名およびポート番号を指定することもできます。ただし,リモートAPI機能を使用して通信する場合(-tオプションにRAPを指定する場合)は,複数のホスト名およびポート番号は指定できません。
- ●-u あて先UDPグループ名
- ~〈1~31文字の識別子〉
- -tオプションにUDPを指定した場合に,サービス要求先のあて先UDPグループ名を指定します。
- UDPプロトコルを使用して通信する場合(-tオプションにUDPを指定する場合)は,サービス要求先を定義しているeeudpdef定義コマンドのあて先UDPグループ名を指定します。
- ●-s ソケット数
- ~〈符号なし整数〉((1~32))《1》
- 接続する最大ソケット数をホスト単位に指定します。複数スレッドから同一サービスグループ名で送信要求を行う場合,サービスグループ下のソケット数の合計は,処理スレッド数+1より大きくなるように指定することをお勧めします。
- TP1/Server Baseに対するサービス要求を行う場合は,TP1/Server Baseのスケジュールサービス定義のmax_socket_descriptorsオペランドで指定するソケット数を追加してください。
- ネームサービス機能を使用して,-tオプションにRPCを指定するか,または指定を省略した場合,このオプションは無視されます。
- また,-tオプションにRAPまたはUDPを指定した場合も,このオプションは無視されます。
- ●-a
- TP1/EEプロセス起動時に,相手ホストとコネクションを自動確立するときに指定します。相手ホストがTP1/Server Base管理下のSPPの場合,または相手ホストがコネクションを確立してから最初のメッセージを受信するまで時間監視している場合は,このオプションを指定しないでください。ネームサービス機能を使用して,-tオプションにRPCを指定するか,または指定を省略した場合,このオプションは無視されます。
- また,-tオプションにRAPまたはUDPを指定した場合も,このオプションは無視されます。
- ●-t {RPC|DBQ|RAP|UDP}
- ~《RPC》
- 該当するホストで使用する通信方法を指定します。
- RPC:
- RPC通信を使用します。DBキュー機能で使用するホストの場合,DBキューを使用したシステム間通信をRPC通信によって行います。また,DBキュー機能で使用するホストの場合,RPC関連定義のname_useオペランドの指定に関係なく,ネームサービス機能は使用しません。
- DBQ:
- DBキューを使用したシステム間通信をTCP/IPプロトコルによって行います。
- DBQを指定する場合は,UDPグループ情報関連定義のmysvgdef定義コマンドの-tオプションでDBQを指定して,DBキューのイベント通知用のポートとホスト名の組み合わせを最低一つ指定する必要があります。ただし,接続先がTP1/EE 01-01の場合は,-tオプションを設定しないでください。
- RAP:
- リモートAPI機能を使用して通信します。このオプションを指定すると,-hオプションで指定した値は,リモートAPI機能によるサービスの受信口の情報となります。
- UDP:
- 高速メッセージ送信制御によって通信します。次の機能を使用して通信します。
- トランザクション同期の一方送信要求(ee_mch_cmtsend_sync関数)
- トランザクション非同期の一方送信要求(ee_mch_cmtsend関数)
- UDPプロトコルによるRPC通信(ee_rpc_call関数(EERPC_UDP指定))
注意事項
- 複数のeesvgdef定義コマンドに同じサービスグループ名を指定し,かつ,それぞれの-tオプションにRAPとRPC(またはUDP)を指定していた場合は,定義ファイル中で先に記述されているeesvgdef定義コマンドの指定が有効になります。定義コマンドの指定内容および指定順に注意してください。
- 複数のeesvgdef定義コマンドに同じサービスグループ名を指定し,それぞれの-tオプションにRPCとUDPを指定できます。ee_rpc_call関数発行時のflags引数としてEERPC_UDPを指定しない場合はRPCのeesvgdef定義コマンド,指定した場合はUDPのeesvgdef定義コマンドが使用されます。
- TP1/EEは,UAPから呼び出されるee_rpc_call関数,ee_rpc_cmtsend関数について,第1引数に指定されたサービスグループ名を,この定義に指定されたサービスグループ名の中から検索します。サービスグループ名が一致する定義が見つかった場合,その定義に指定されているホストとポート番号へサービス要求を送信します。
- 同一サービスグループ下に複数のホスト名を指定した場合,TP1/EEはランダムにホストを選択してサービス要求を送信します。ネームサービス機能を使用した場合は,前回送信したホストを選択してサービス要求を送信し,送信に失敗した場合は残りのホストから順次選択します。該当するホストでサービス要求できるコネクションがない場合は,残りのホストから順次選択します。すべてのホストでサービス要求ができない場合,ee_rpc_call関数はエラーとなります。ee_rpc_call関数またはee_rpc_cmtsend関数によって自プロセスあてにサービス要求を行う場合は,自ホストの情報を定義する必要があります。
- リモートAPI機能を使用して通信するサービスグループに対して,トランザクションとしてサービスを要求しても,非トランザクションモードとして処理します。
- リモートAPI機能を使用して通信する場合は,-hオプションに自プロセスのホスト名とポート番号(RPC関連定義のrap_listen_portオペランドの指定値)は指定しないでください。指定してサービス要求した場合の動作は保証しません。