rpc
形式
<rpc use="通信形態"
watchTime="最大応答待ち時間"
watchTimeNotification="true|false"
maxMessageSize="RPCメッセージの最大長"
compressData="true|false"
prfInfoSend="true|false"
cupRecvPort="CUP.NETの受信で使用するポート番号"
useMultiScheduler="true|false"/>
説明
RPCに関する指定をします。
この要素は省略できません。必ず<common>要素内または<profile>要素内にこの要素を一つ以上指定してください。
属性
●use="通信形態"
通信形態を指定します。
この属性は省略できません。次のどれかを指定してください。
●watchTime="最大応答待ち時間" ~〈符号なし整数〉((0~65535))《180》(単位:秒)
応答型RPCの場合に,CUP.NETからSPP.NETまたはSPPへサービス要求を送ってからサービスの応答が返るまでの待ち時間の最大値を指定します。
指定時間を過ぎても応答が返らない場合は,CUP.NETにエラーリターンします。0を指定した場合は,応答を受信するまで待ち続けます。
この属性は省略できます。
●watchTimeNotification="true|false" ~《false》
CUP.NETの最大応答待ち時間をサーバ側に引き継ぐかどうかを指定します。
CUP.NETの最大応答待ち時間を引き継ぐと,CUP.NETがタイムアウトしているのにサーバ側でサービスが実行されることを防止できます。
この属性は省略できます。
●maxMessageSize="RPCメッセージの最大長" ~〈符号なし整数〉((1~8))《1》(単位:メガバイト)
TP1ClientクラスのCallメソッドで送受信できるユーザメッセージの最大長を指定します。
Callメソッドの引数に,この属性で指定した値より大きな値を送信メッセージ長および受信メッセージ長として指定できません。
送信メッセージ長にこのオペランドの指定値よりも大きい値を指定した場合,Callメソッドは,ErrMessageTooBigExceptionを返し,rpcCallメソッドはErrMessageTooBigExceptionを返します。
送信メッセージ長にこのオペランドの指定値よりも小さい値を指定して,受信メッセージ長にこのオペランドの指定値よりも大きい値を指定した場合,CallメソッドはErrInvalidArgsExceptionを返します。
この属性に1(デフォルト値)または8(最大に拡張した値)を指定した場合,RPCメッセージの最大長は次のようになります。
この属性に2以上を指定した場合,ネームサービスを使用したRPCでネームサーバへの問い合わせをしたとき,RPCメッセージの最大長が拡張されたサービス情報を,要求先として使用します。
maxMessageSize属性を指定して,次の機能を使用しないでください。使用した場合,通信先のTP1/Serverノードでエラーが発生します。
なお,システム共通定義のrpc_max_message_sizeオペランドをサポートしているTP1/Server(バージョン06-02以降)のバージョンのTP1/Server Baseにだけ要求できます。
この属性は省略できます。
●compressData="true|false" ~《false》
データ圧縮機能を使用するかどうかを指定します。
この属性は省略できます。
●prfInfoSend="true|false" ~《true》
TP1/Serverに対して,ネームサービスを使用したRPC,およびスケジューラダイレクト機能を使用したRPCを行う場合に,OpenTP1の性能検証用トレースに出力する情報としてClient .NET内部で識別情報を付加するかどうかを指定します。
スケジューラダイレクト機能を使用したRPCでサービス要求先のTP1/Serverのバージョンが03-03未満である場合は,SPPのサービス関数に不正なデータを渡す可能性があるので必ずfalseを指定してください。
なお,ネームサービス機能を使用したRPCでサービス要求先のTP1/Serverのバージョンが03-03未満である場合,trueを指定しても,この指定は無視されるためTP1/Server上へ性能検証用の識別情報は伝播できません。
この属性は省略できます。
●cupRecvPort="CUP.NETの受信で使用するポート番号" ~〈符号なし整数〉((5001~65535))
サーバからのメッセージを受信するCUP.NETのポート番号を指定します。
この属性で指定したポート番号は,次の機能を使用する場合に有効です。
この属性を省略すると,システムが任意に割り当てたポート番号を使用します。
同一マシン内で,複数のプロセス,または複数のスレッドを同時に実行する場合は,それぞれ異なるポート番号を指定してください。
指定できるポート番号でも,OSまたはほかのプログラムで使用するポート番号は指定しないでください。指定した場合,応答データを正しく受信できないことがあります。なお,OSが使用するポート番号は,OSごとに異なります。OSが使用するポート番号については,ご利用のOSの関連ドキュメントを参照してください。
●useMultiScheduler="true|false" ~《false》
マルチスケジューラ機能を使用するかどうかを指定します。
マルチスケジューラ機能を使用すると,複数起動されたマルチスケジューラデーモンの中から,一つをランダムに選択することで,スケジューリングの負荷を軽減できます。この属性にtrueを指定した場合,サービス要求を送信するスケジューラデーモンはClient .NET構成定義の指定によって異なります。次のClient .NET構成定義も併せて参照してください。
この属性は,CallToメソッド実行時は無効です。
この属性は省略できます。
記述例
<rpc use="nam"
watchTime="180"
watchTimeNotification="false"
maxMessageSize="1"
compressData="false"
prfInfoSend="true"
cupRecvPort="6000"
useMultiScheduler="false"/>