Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引


2.1.6 サービス要求のスケジュールプライオリティの設定

一つの処理から呼び出す複数のサービス要求に優先順位を付けたい場合,サービス要求ごとのプライオリティを設定できます。dc_rpc_call関数を呼び出す直前に,

dc_rpc_set_service_prio関数【CBLDCRPC('SETSVPRI')】を呼び出してサービス要求のプライオリティを設定します。これによって,サービス要求の優先度が,サーバUAP側のスケジュールキューを経由してサーバに通知されます。

dc_rpc_set_service_prio関数を1度も使わない処理の場合は,スケジュールサービスの省略時解釈である4が,サービス要求のプライオリティとして指定されます。設定したスケジュールプライオリティは,dc_rpc_get_service_prio関数【CBLDCRPC('GETSVPRI')】で参照できます。

キュー受信型サーバ(スケジュールサービスでスケジュールされるSPP)では,設定したサービス要求のプライオリティは,サーバUAPのユーザサービス定義に,service_priority_controlオペランドにY(プライオリティを制御する)を指定している場合だけ有効です。サービスを要求する相手のサーバUAPでプライオリティを制御していない場合は,この関数を呼び出しても無効になります。

ソケット受信型サーバ(スケジュールキューを経由しないでサービス要求を受信するSPP)では,クライアントUAPで設定したプライオリティに無条件に従います。

次に示すサービス要求に対して,dc_rpc_set_service_prio関数を呼び出しても無効となります。