4.2.3 ジョブネット制御クラス(AjsWsJobnet)
ジョブネット制御クラスは,ジョブネットを制御するクラスです。ジョブネットを即時実行登録します。ジョブネットの実行登録に成功した場合,ジョブネット実行監視によってジョブネット実行状況を監視します。ジョブネットの実行を強制的に終了することもできます。
このクラスのインスタンスを作成して使用してください。
ジョブネット制御クラスインターフェースの詳細を次に示します。
- クラス定義
- public class AjsWsJobnet
- パッケージ名
- jp.co.Hitachi.soft.ajs2.ws.jobcontrol
- メソッド一覧
各メソッドの詳細を説明します。
- 参考
- ジョブネット制御クラスのメソッドは,JP1/AJSのコマンドに対応しています。例えば,AjsWsJobnetメソッドが持つ引数は,JP1/AJSのajsentryコマンドの引数に対応しています。ジョブネット制御クラスのメソッドとJP1/AJSのコマンドとの対応については,「付録C JP1/AJS3 - SOA Optionで使用できるJP1/AJSコマンドの対応一覧」を参照してください。
- <この項の構成>
- (1) AjsWsJobnetメソッド
- (2) jobnetEntryメソッド
- (3) jobnetShowメソッド
- (4) jobnetKillメソッド
- (5) ジョブネット制御クラスの実装例
- (6) ジョブネット制御クラスの注意事項
(1) AjsWsJobnetメソッド
- 説明
- AjsWsJobnetのコンストラクタです。ジョブネットの実行登録に必要な情報を,クラス内に保持します。
- 形式
public AjsWsJobnet(
jp.co.Hitachi.soft.ajs2.ws.jobcontrol.AjsWsClient client,
java.lang.String manager,
java.lang.String serviceName,
java.lang.String jobnetName,
java.lang.String[] macro)
- 引数
項番 | 引数名 | 省略 | 説明 |
---|
1 | client | 不可 | 初期化済みのAjsWsClientのインスタンスを指定します。 |
2 | manager | 不可 | ジョブ制御要求を依頼するJP1/AJS3 - ManagerまたはJP1/AJS2 - Managerのホスト名を,1~255バイトの文字列で指定します。 JP1/AJS3 - SOA Optionのセットアップ時に設定するWS-Server動作環境設定定義ファイル(ajswsserver.conf)の「接続先JP1/AJS3 - Managerホスト名または接続先JP1/AJS2 - Managerホスト名」と同じ値を指定してください。 WS-Server動作環境設定定義ファイルの設定については,「6.6.7(1) WS-Server動作環境設定定義ファイル(ajswsserver.conf)」を参照してください。 |
3 | serviceName | 可 | スケジューラーサービス名を,1~30バイトの文字列で指定します。 スケジューラーサービス名を指定しない場合は,nullを指定してください。nullを指定した場合,JP1/AJS3 - SOA Optionのセットアップ時に設定するWS-Server動作環境設定定義ファイル(ajswsserver.conf)の「接続先JP1/AJS3 - Managerスケジューラーサービス名または接続先JP1/AJS2 - Managerスケジューラーサービス名」に設定されている値が仮定されます。 WS-Server動作環境設定定義ファイルの設定については,「6.6.7(1) WS-Server動作環境設定定義ファイル(ajswsserver.conf)」を参照してください。 |
4 | jobnetName | 不可 | ジョブネット名を,1~930バイトの文字列で指定します。 ルートジョブネットだけ指定できます。 |
5 | macro※ | 可 | ルートジョブネット配下のジョブで使用しているマクロ変数に設定する情報を,配列で指定します。32個まで情報を指定できます。 配列の各要素は,「マクロ変数名:引き継ぎ情報」の形式で指定します。 マクロ変数名は,AJS2xxx(xxxは任意の文字列)の形式で,62バイトまでの文字列で指定します。指定できる文字は,英大文字,数字,「.(ピリオド)」です。 引き継ぎ情報は,1~255バイトの文字列で指定します。すべてのマクロ変数の配列長の総和について,各マクロ変数配列要素の長さの和 + (マクロ変数配列要素数 * 3)の値が4,085バイトを超えないよう指定してください。 同一マクロ変数を指定した場合,配列要素番号の小さい要素番号に指定したマクロ変数の引き継ぎ情報が引き継がれます。 マクロ変数を引き継がない場合,nullを指定してください。 |
- 注※
- ジョブネットの実行登録をするJP1/AJS2 - Managerのバージョンが07-11以下の場合,macro変数は指定できません。macro変数を指定した場合,ジョブネットの即時実行登録時に例外クラス(AjsWsException)が送出されます。
- 戻り値
- なし
- 例外
- 例外が発生した場合,このメソッドは例外クラス(AjsWsException)を送出します。
(2) jobnetEntryメソッド
- 説明
- 定義済みのジョブネットを即時実行登録します。実行登録したあと,ジョブネットの実行終了の待ち合わせはしません。
- 形式
public synchronized void jobnetEntry()
- 引数
- なし
- 戻り値
- なし
- 例外
- 例外が発生した場合,このメソッドは例外クラス(AjsWsException)を送出します。
(3) jobnetShowメソッド
- 説明
- jobnetEntryメソッドで実行登録済みのジョブネットの実行登録状況を監視し,結果を返却します。
- 形式
public AjsWsJobnetInfo jobnetShow()
- 引数
- なし
- 戻り値
- ジョブネット実行状況監視の結果をジョブネット情報クラス(AjsWsJobnetInfo)のインスタンスとして返却します。
- 例外
- 例外が発生した場合,このメソッドは例外クラス(AjsWsException)を送出します。
(4) jobnetKillメソッド
- 説明
- jobnetEntryメソッドで実行登録済みのジョブネットの実行を強制終了します。
- 形式
public void jobnetKill()
- 引数
- なし
- 戻り値
- なし
- 例外
- 例外が発生した場合,このメソッドは例外クラス(AjsWsException)を送出します。
(5) ジョブネット制御クラスの実装例
ジョブネット制御クラスの実装例を次に示します。
![[図データ]](figure/zuw04025.gif)
![[図データ]](figure/zuw04026.gif)
![[図データ]](figure/zuw04027.gif)
![[図データ]](figure/zuw04028.gif)
![[図データ]](figure/zuw04029.gif)
(6) ジョブネット制御クラスの注意事項
- AjsWsJobnetクラスの同一インスタンスに対してjobnetEntryメソッドでジョブネットを実行登録したあと,jobnetKillメソッドでジョブネットを強制終了した場合,再度jobnetEntryメソッドを呼び出すことはできません。
- jobnetShowメソッドで実行状況監視していないジョブネットに対してjobnetKillメソッドで強制終了した場合,ジョブネットの実行がされていないために強制終了が異常終了するおそれがあります。
ジョブネットを強制終了する場合は,実行状況監視でジョブネットの状態を確認したあとに実行してください。
- jobnetEntryメソッドでの実行登録ができるのは,ルートジョブネットだけです。ルートジョブネット配下のジョブネットの実行登録はできません。
- ジョブグループの実行登録はできません。
- ジョブネット配下のジョブを指定してjobnetEntryメソッドで実行登録することはできません。
- プランニンググループ配下のジョブネットの実行登録はできません。
- マネージャーグループおよびマネージャージョブネットの実行登録はできません。
- ジョブネットの次回予定が計画実行登録または確定実行登録であるジョブネットの実行登録はできません。
- 実行登録するジョブネットについて,次の点を確認してください。該当する場合は,jobnetEntryメソッドでの実行登録が異常終了します。
- 起動条件付きジョブネットにジョブネットコネクタを作成していないか
- 接続先のジョブネットとして,起動条件付きジョブネットを指定していないか
- 接続先のジョブネットとして,配下にジョブネットコネクタが定義されているルートジョブネットを指定していないか
- 接続先のジョブネットとして指定したプランニンググループ配下のユニットに,起動条件が設定されていないか
- 接続先のジョブネットとして指定したプランニンググループ配下に,ルートリモートジョブネットが定義されていないか
- 接続先のジョブネットとして指定したプランニンググループ配下に,ジョブネットコネクタが定義されていないか
- スケジューラーサービスが起動していない場合,jobnetEntryメソッド,jobnetShowメソッド,およびjobnetKillメソッドは異常終了します。
- 指定したルートジョブネット配下にホストリンクジョブネットが定義されている場合,jobnetEntryメソッドは異常終了します。
- jobnetEntryメソッドで実行登録しようとしたジョブネットがサスペンド状態の場合,jobnetEntryメソッドは異常終了します。
- jobnetEntryメソッドによって実行登録が成功したジョブについて,jobnetShowメソッドおよびjobnetKillメソッドでジョブ制御することができます。
- jobnetKillメソッドによって強制終了しようとしたジョブネットがサスペンド状態の場合,jobnetKillメソッドは異常終了します。
- jobnetKillメソッドで強制終了できるのは,ジョブネットの状態が次の状態のときだけです。