スケジューラダイレクト機能を使用したRPCは,Javaアプリケーション,およびJavaサーブレットから実行できるサービス要求です。Javaアプレットのセキュリティの制約があるため,Javaアプレットからは実行できません。
スケジューラダイレクト機能を使用したRPCの流れと,RPCごとにサービス要求先スケジューラを分散させる場合の定義について説明します。
スケジューラダイレクト機能を使用したRPCを行う場合は,TP1/Client/J環境定義にdcscddirect=Yを指定します。さらに,TP1/Client/J環境定義にdchostおよびdcscdportオペランドを指定するか,またはsetDchostメソッドでscdサーバ(スケジュールサーバ)を指定します。また,rpcCallメソッドを呼び出す前にはrpcOpenメソッドを呼び出す必要があります。CUPの最後にはrpcCloseメソッドを呼び出す必要があります。
スケジューラダイレクト機能を使用したRPCのサービス要求の流れを次の図に示します。
図2-6 スケジューラダイレクト機能を使用したRPCのサービス要求の流れ
なお,この機能の使用時は,ソケット受信型SPPに対してRPCを発行できません。また,TP1/Client/J環境定義のdccltrpcmaxmsgsizeオペランドを指定してこの機能を使用した場合,通信先のTP1/Serverノードでエラーが発生することがあります。
スケジューラダイレクト機能を使用したRPCでは,RPCごとにラウンドロビン方式でサービス要求先スケジューラを切り替え,分散させることができます。RPCごとにサービス要求先スケジューラを分散させる場合は,TP1/Client/J環境定義にdcscdhostchange=Yを指定します。