Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Client for .NET Framework 使用の手引


scheduleService

〈このページの構成〉

形式

<scheduleService port="スケジュールサービスのポート番号"
                 usePriority="true|false"
                 randomSelect="true|false"
                 hostChange="true|false"
                 multiSchedulerCount
                 ="スケジューラデーモンのプロセス数"/>

説明

スケジュールサービスを使用したRPCに関する指定をします。

<rpc>要素のuse属性でscdを指定した場合,この要素は省略できません。その場合,必ず<common>要素内または<profile>要素内にこの要素を一つ以上指定してください。

属性

port="スケジュールサービスのポート番号"  〜〈符号なし整数〉((5001〜65535))

スケジュールサービスのポート番号を指定します。<tp1Server>要素のport属性が省略された場合,この属性の値が有効になります。

Client.NET構成定義の<rpc>要素use属性にscdを指定し,かつ<rpc>要素useMultiScheduler属性にtrueを指定した場合は,マルチスケジューラデーモンのポート番号を指定します。マスタスケジューラデーモンとマルチスケジューラデーモンのベースとなるポート番号が連続している場合は,マスタスケジューラデーモン(スケジュールサービス)のポート番号を指定することもできます。

この属性は省略できます。省略する場合,必ず<tp1Server>要素のport属性の値を指定してください。

なお,通信相手のTP1/Serverは,スケジュールサービスまたはマルチスケジューラデーモンを,この定義で指定したポート番号で起動する必要があります。TP1/Serverのスケジュールサービスまたはマルチスケジューラデーモンの指定については,マニュアル「OpenTP1 システム定義」を参照してください。

usePriority="true|false"  〜《false》

サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散するかどうか指定します。

この属性は省略できます。

true:サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散します。

false:サービス要求を受け付けた窓口となるTP1/Serverを優先しません。TP1/Serverは,ノード間の負荷を分散します。

randomSelect="true|false"  〜《false》

窓口となるTP1/Serverをランダムに選択するかどうかを指定します。

この属性は,窓口となるTP1/Serverを複数指定した場合にだけ有効です。

この属性は省略できます。

true:窓口となるTP1/Serverをランダムに選択します。

false:窓口となるTP1/Serverをランダムに選択しません。

hostChange="true|false"  〜《false》

<tp1Server>要素に指定したサービス要求先スケジューラをRPCごとに分散させるかどうかを指定します。

RPCでのサービス要求が1度目の場合,<scheduleService>要素のrandomSelect属性にfalseを指定したとき,<tp1Server>要素で指定した先頭のサービス要求先スケジューラが選択されます。<scheduleService>要素のrandomSelect属性にtrueを指定したとき,<tp1Server>要素で指定したサービス要求先スケジューラがランダムに選択されます。

RPCでのサービス要求が2度目以降の場合,前回のサービス要求先スケジューラから<tp1Server>要素で指定した順にラウンドロビン方式でサービス要求先スケジューラが選択されます。

この属性は省略できます。

true:サービス要求先スケジューラをRPCごとに分散させます。

false:サービス要求先スケジューラをRPCごとに分散させません。

multiSchedulerCount="スケジューラデーモンのプロセス数"  〜〈符号なし整数〉((1〜4096))《1》

スケジューラデーモンのプロセス数を指定します。スケジュールサービス定義のscdmulti定義コマンドの-mオプションに指定したプロセス数か,またはそれ以下の値を指定します。

この属性に指定するプロセス数は,<tp1Server>要素のport属性,または<scheduleService>要素のport属性に指定するポート番号によって,次のように異なります。

表3‒1 Client .NET構成定義の<scheduleService>要素のmultiSchedulerCount属性に指定するプロセス数の違い

<tp1Server>要素のport属性,または<scheduleService>要素のport属性の指定値

<scheduleService>要素のmultiSchedulerCount属性の指定値

マルチスケジューラデーモンのベースとなるポート番号

マルチスケジューラデーモンのプロセス数と同じ値,またはそれ以下の値を指定します。

マルチスケジューラデーモンの任意のポート番号

「マルチスケジューラデーモンのポート番号の最大 - <tp1Server>要素のport属性,または<scheduleService>要素のport属性に指定したポート番号 + 1」の値,またはそれ以下の値を指定します。

マスタスケジューラデーモンのポート番号

マスタスケジューラデーモンとマルチスケジューラデーモンのベースとなるポート番号が連続している場合

「マルチスケジューラデーモンのプロセス数 + 1」の値,またはそれ以下の値を指定します。

上記以外

1を指定するか,または指定を省略します(マルチスケジューラデーモンは使用できません)。

この定義は,Client.NET構成定義の<rpc>要素のuse属性にscdを指定し,かつ<rpc>要素のuseMultiScheduler属性にtrueを指定した場合に有効です。この場合,ポート番号は,次に示す範囲の値からランダムに選択します。

  • 下限値:Client .NET構成定義の<tp1Server>要素のport属性,または<scheduleService>要素のport属性に指定したポート番号の値

  • 上限値:下限値 + Client .NET構成定義の<scheduleService>要素のmultiSchedulerCount属性に指定したプロセス数 - 1

この属性は省略できます。

記述例

<scheduleService port="10010"
                 usePriority="false"
                 hostChange="false"
                 multiSchedulerCount="10"/>