com.nec.webotx.batch
インタフェース BSJobRequestOperations

既知の実装クラスの一覧:
BSJobRequestTemplate

public interface BSJobRequestOperations

WebOTX Batch Serverに対するジョブ制御用APIです。

ジョブの実行要求、開始・終了の待ち合わせ、ジョブの状態取得、ジョブが実行可能かどうかの検査を 行うためのメソッドを提供します。

例えば、下記のようにしてジョブの開始要求と、終了の待ち合わせを行うことができます。
   ...
   BSJobRequestOperations client = null;
   try{
     // バッチドメインエージェントへの接続
     client = BSJobRequestTemplate(user, password, host, port);
     
     // ジョブを設定
     JobName job = new JobName(batcApg, batchAp, jobName);
     // ジョブが利用可能かどうかを確認
     if( !client.available(job) ) {
       job.setBatchapgroup("default");
       job.setBatchap("default");
     }
     
     Properties jobParameters = new Properties();
     jobParameters.setProperty("output.file", "out.csv");
     
     // 非同期の開始要求
     client.start(job, requestId, jobParameters);
     
     ...
     
     BSJobRequestStatus status = null;
     // ジョブの開始の待機
     status  = client.getStartedStatus(job, requestId, jobParameters, timeout);
     
     // ジョブを実行しているドメインとコンテナの情報、実行されたジョブのJobInstanceId、JobExecutionIdの取得
     status.getAcceptedDomainName()();
     status.getAcceptedContainerName();
     status.getJobInstanceId();
     status.getJobExecutionId();
     
     ...
     
     // ジョブの終了の待機と、結果の取得
     status = client.getStoppedStatus(job, requestId, jobParameters, timeout);
     if( status.getExitStatusCode().equals("COMPLETED") ) {
       // successfully
       ...
     } else {
       // error
       ...
     }  
   } catch (Exception e) {
     // 接続エラー、ジョブの初期化・開始エラー、待機中のタイムアウト発生等
     ...
   } finally {
     // バッチドメインエージェントとの接続を切断
     if(client != null) {
       try {
           client.close();
       } catch(Exception e){
           ...
       }
     }
   }
   ...
 

バージョン:
WebOTX Batch Server V8.3

入れ子のクラスの概要
static class BSJobRequestOperations.RestartType
          ジョブの再開ポイントを指定します。
static class BSJobRequestOperations.StopType
          ジョブの停止方法を指定します。
 
フィールドの概要
static String[] JBS_INTERNAL_INFO
          内部情報です
 
メソッドの概要
 boolean available(JobName job)
          接続ユーザが指定したジョブを利用可能であるかどうか検査します。
 void close()
          バッチドメインエージェントとの接続を解除します。
 void connect(String userName, String password, String host, int port)
          バッチドメインエージェントに接続します。
 BSJobRequestStatus getStartedStatus(JobName job, String reqId, Properties jobParameters, long timeout)
          バッチコンテナによるジョブの実行開始結果をハンドリングします。
 BSJobRequestStatus getStartedStatus(String reqId, long timeout)
          バッチコンテナによるジョブの実行開始結果をハンドリングします。
 BSJobRequestStatus getStatus(JobName job, Properties jobParameters)
          ジョブの状態を取得します。
 BSJobRequestStatus getStatus(JobName job, String reqId, Properties jobParameters)
          ジョブの状態を取得します。
 BSJobRequestStatus getStatus(String reqId)
          リクエストIDのみを指定してジョブの状態を取得します。
 BSJobRequestStatus getStoppedStatus(JobName job, String reqId, Properties jobParameters, long timeout)
          ジョブの終了結果をハンドリングします。
 BSJobRequestStatus getStoppedStatus(String reqId, long timeout)
          ジョブの終了結果をハンドリングします。
 void restart(JobName job, Properties jobParameters)
          ジョブの再開要求を投入します。
 void restart(JobName job, Properties jobParameters, BSJobRequestOperations.RestartType type)
          ジョブの再開要求を投入します。
 void restart(JobName job, String reqId, Properties jobParameters, BSJobRequestOperations.RestartType type)
          ジョブの再開要求を投入します。
 void start(JobName job, Properties jobParameters)
          ジョブの開始要求を投入します。
 void start(JobName job, String reqId, Properties jobParameters)
          ジョブの開始要求を投入します。
 void stop(JobName job, Properties jobParameters)
          指定したジョブを停止します。
 void stop(JobName job, Properties jobParameters, BSJobRequestOperations.StopType type)
          指定したジョブを停止します。
 void stop(JobName job, String reqId, Properties jobParameters, BSJobRequestOperations.StopType type, long timeout)
          指定したジョブを停止します。
 void stop(String reqId)
          リクエストIDによって指定したジョブを停止します。
 void stop(String reqId, BSJobRequestOperations.StopType type)
          リクエストIDによって指定したジョブを停止します。
 void stop(String reqId, BSJobRequestOperations.StopType type, long timeout)
          リクエストIDによって指定したジョブを停止します。
 

フィールドの詳細

JBS_INTERNAL_INFO

static final String[] JBS_INTERNAL_INFO
内部情報です

メソッドの詳細

connect

void connect(String userName,
             String password,
             String host,
             int port)
             throws com.nec.webotx.batch.BSException
バッチドメインエージェントに接続します。

パラメータ:
userName - ユーザ名
password - パスワード
host - ホスト名、または、IPアドレス
port - ポート番号
例外:
BSException - 接続に失敗した場合に発生します。
SecurityException - 指定したユーザの認証に失敗した場合に発生します。

close

void close()
           throws IOException
バッチドメインエージェントとの接続を解除します。

例外:
IOException

start

void start(JobName job,
           Properties jobParameters)
           throws QueuingException,
                  com.nec.webotx.batch.BSException
ジョブの開始要求を投入します。
次のメソッド呼び出しと同様です。
   start(job, null, jobParameters);
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
例外:
QueuingException - リクエストのキューイングに失敗した場合にスローされます
BSException - 通信系のエラーが発生した場合にスローされます
NullPointerException - jobがnullの場合
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。
関連項目:
start(JobName, String, Properties)

start

void start(JobName job,
           String reqId,
           Properties jobParameters)
           throws QueuingException,
                  com.nec.webotx.batch.BSException
ジョブの開始要求を投入します。

このメソッドはジョブ開始要求がキューイングされたタイミングで復帰します。
getStartedStatus(JobName, String, Properties, long)、または、
getStoppedStatus(JobName, String, Properties, long)メソッドを呼び出すことで
実行したジョブの終了を待機することができます。

パラメータ:
job - JobName
reqId - リクエストID
jobParameters - ジョブパラメータ
例外:
QueuingException - リクエストのキューイングに失敗した場合にスローされます
BSException - 通信系のエラーが発生した場合にスローされます
NullPointerException - jobがnullの場合
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。

available

boolean available(JobName job)
                  throws com.nec.webotx.batch.BSException
接続ユーザが指定したジョブを利用可能であるかどうか検査します。

この検査では、

を確認します。

ジョブ実行権の設定については、定義ファイルリファレンスの DOMAIN_HOME/config/user.policyファイルを参照してください
デフォルトの設定では全てのユーザに対して全てのジョブの実行権が付与されています。

指定したジョブがデプロイされているかどうかは、bsadmin list-jobs コマンドで確認できます。
詳細はコマンドのヘルプ、または、コマンドリファレンスを参照してください。

パラメータ:
job - JobName
戻り値:
指定したジョブがデプロイされていればtrue、それ以外の場合はfalse
例外:
BSException - バッチドメインエージェントとの通信に問題が発生した場合に発生します。
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。

restart

void restart(JobName job,
             String reqId,
             Properties jobParameters,
             BSJobRequestOperations.RestartType type)
             throws QueuingException,
                    com.nec.webotx.batch.BSException
ジョブの再開要求を投入します。

ジョブを再開するためには、再開したジョブを実行したときと同じリクエストIDとジョブパラメータを 引数に渡す必要があります。

ジョブの再開ポイントを指定することで、どのレコード処理から実行をやり直すのかを選択することができます。

パラメータ:
job - JobName
reqId - リクエストID
jobParameters - ジョブパラメータ
type - JOB | STEP | CHECKPOINT の何れかのRestartTypeを指定します
例外:
QueuingException - ジョブ再開要求のキューイングに失敗した場合
BSException - その他問題が発生した場合
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。

restart

void restart(JobName job,
             Properties jobParameters,
             BSJobRequestOperations.RestartType type)
             throws QueuingException,
                    com.nec.webotx.batch.BSException
ジョブの再開要求を投入します。
次の呼び出しと同様です。
     restart(job, null, jobParameters, type)
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
type - JOB | STEP | CHECKPOINT の何れかのRestartTypeを指定します
例外:
QueuingException - ジョブ再開要求のキューイングに失敗した場合
BSException - その他問題が発生した場合
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。
関連項目:
restart(JobName, String, Properties, RestartType)

restart

void restart(JobName job,
             Properties jobParameters)
             throws QueuingException,
                    com.nec.webotx.batch.BSException
ジョブの再開要求を投入します。
次の呼び出しと同様です。
     restart(job, null, jobParameters, RestartType.CHECKPOINT)
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
例外:
QueuingException - ジョブ再開要求のキューイングに失敗した場合
BSException - その他問題が発生した場合
SecurityException - 接続ユーザに指定したジョブの実行権が付与されていない場合に発生します。
関連項目:
restart(JobName, String, Properties, RestartType)

stop

void stop(JobName job,
          Properties jobParameters)
          throws com.nec.webotx.batch.BSException
指定したジョブを停止します。
次の呼び出しと同様です。
     stop(job, null, jobParameteres, StopType.TRANSACTIONAL, 0);
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
例外:
BSException - 停止要求に失敗した場合
関連項目:
stop(JobName, String, Properties, StopType, long)

stop

void stop(JobName job,
          Properties jobParameters,
          BSJobRequestOperations.StopType type)
          throws com.nec.webotx.batch.BSException
指定したジョブを停止します。
次の呼び出しと同様です。
     stop(job, null, jobParameteres, type, 0);
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
type - TRANSACTIONAL | FORCE のいずれかのStoTypeを指定します。
例外:
BSException - 停止要求に失敗した場合
関連項目:
stop(JobName, String, Properties, StopType, long)

stop

void stop(JobName job,
          String reqId,
          Properties jobParameters,
          BSJobRequestOperations.StopType type,
          long timeout)
          throws com.nec.webotx.batch.BSException
指定したジョブを停止します。

このメソッドはジョブが停止するのを待機しません。
キューイング状態のリクエストは即時にキャンセルします。
実行中のジョブは指定された停止モードに従ってジョブの停止を試みます。

停止タイムアウトを指定すると、タイムアウト秒経過後もジョブが停止しなかった場合に、 強制的にジョブを実行したクライアントに停止タイムアウトが通知されます。
停止タイムアウトが発生した際に、実際のジョブの実行が停止できていない可能性がある点に注意してください。

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
type - TRANSACTIONAL | FORCE のいずれかのStoTypeを指定します。
timeout - タイムアウト秒
例外:
BSException - 停止要求に失敗した場合

stop

void stop(String reqId)
          throws com.nec.webotx.batch.BSException
リクエストIDによって指定したジョブを停止します。

リクエストIDを指定してジョブを実行している場合にのみ利用できます。

パラメータ:
reqId - リクエストID
例外:
BSException - 停止要求に失敗した場合
関連項目:
stop(JobName, String, Properties, StopType, long)

stop

void stop(String reqId,
          BSJobRequestOperations.StopType type)
          throws com.nec.webotx.batch.BSException
リクエストIDによって指定したジョブを停止します。

リクエストIDを指定してジョブを実行している場合にのみ利用できます。

パラメータ:
reqId - リクエストID
type - TRANSACTIONAL | FORCE のいずれかのStoTypeを指定します。
例外:
BSException - 停止要求に失敗した場合
関連項目:
stop(JobName, String, Properties, StopType, long)

stop

void stop(String reqId,
          BSJobRequestOperations.StopType type,
          long timeout)
          throws com.nec.webotx.batch.BSException
リクエストIDによって指定したジョブを停止します。

リクエストIDを指定してジョブを実行している場合にのみ利用できます。

パラメータ:
reqId - リクエストID
type - TRANSACTIONAL | FORCE のいずれかのStoTypeを指定します。
timeout - タイムアウト秒
例外:
BSException - 停止要求に失敗した場合
関連項目:
stop(JobName, String, Properties, StopType, long)

getStartedStatus

BSJobRequestStatus getStartedStatus(JobName job,
                                    String reqId,
                                    Properties jobParameters,
                                    long timeout)
                                    throws NoSuchJobRequestException,
                                           TimeoutException,
                                           com.nec.webotx.batch.BSException
バッチコンテナによるジョブの実行開始結果をハンドリングします。

このメソッドは、ジョブの実行が開始されるまで待機します。
すでに、ジョブの実行が開始されている場合、即時に結果を返却します。

指定したジョブの開始要求が行われていない(キューイングされておらず、実行中、実行済みでもない)場合、NoSuchJobRequestExceptionが発生します。

パラメータ:
reqId - リクエストID。null指定可能
job - JobName
jobParameters - ジョブパラメータ
timeout - タイムアウト(ms)
戻り値:
ジョブが開始された際のステータス
例外:
NullPointerException - jobにnullを指定した場合に発生します。
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない。
TimeoutException - 指定した時間を経過してもジョブの開始通知が到着しない場合
BSException - バッチドメインエージェント、バッチコンテナとの通信に失敗した場合に発生します。

getStartedStatus

BSJobRequestStatus getStartedStatus(String reqId,
                                    long timeout)
                                    throws NoSuchJobRequestException,
                                           TimeoutException,
                                           com.nec.webotx.batch.BSException
バッチコンテナによるジョブの実行開始結果をハンドリングします。

start(JobName, String, Properties) のreqidを指定してジョブを開始している場合に、 reqidのみを指定して結果を取得します。

このメソッドは、ジョブの実行が開始されるまで待機します。
すでに、ジョブの実行が開始されている場合、即時に結果を返却します。

指定したジョブの開始要求が行われていない(キューイングされておらず、実行中、実行済みでもない)場合、NoSuchJobRequestExceptionが発生します。

パラメータ:
reqId - リクエストID。null指定可能
timeout - タイムアウト(ms)
戻り値:
ジョブが開始された際のステータス
例外:
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない。
TimeoutException - 指定した時間を経過してもジョブの開始通知が到着しない場合
BSException - バッチドメインエージェント、バッチコンテナとの通信に失敗した場合に発生します。
関連項目:
getStartedStatus(JobName, String, Properties, long)

getStoppedStatus

BSJobRequestStatus getStoppedStatus(JobName job,
                                    String reqId,
                                    Properties jobParameters,
                                    long timeout)
                                    throws NoSuchJobRequestException,
                                           TimeoutException,
                                           com.nec.webotx.batch.BSException
ジョブの終了結果をハンドリングします。

このメソッドは、ジョブの実行が終了するまで待機します。
すでに、ジョブが終了している場合、即時に結果を返却します。

指定したジョブの開始要求が行われていない(キューイングされておらず、実行中、実行済みでもない)場合、NoSuchJobRequestExceptionが発生します。

パラメータ:
reqId - リクエストID。null指定可能
job - ジョブ識別子
jobParameters - ジョブパラメータ
timeout - タイムアウト(ms)
戻り値:
ジョブが停止した際のステータス
例外:
NoSuchJobRequesetException - 指定されたジョブの開始要求が行われていない
TimeoutException - 指定した時間を経過してもジョブの終了通知が到着しない場合
BSException - バッチドメインエージェント、バッチコンテナとの通信に失敗した場合に発生します。
NoSuchJobRequestException

getStoppedStatus

BSJobRequestStatus getStoppedStatus(String reqId,
                                    long timeout)
                                    throws NoSuchJobRequestException,
                                           TimeoutException,
                                           com.nec.webotx.batch.BSException
ジョブの終了結果をハンドリングします。

start(JobName, String, Properties) のreqidを指定してジョブを開始している場合に、 reqidのみを指定して結果を取得します。

このメソッドは、ジョブの実行が終了するまで待機します。
すでに、ジョブが終了している場合、即時に結果を返却します。

指定したジョブの開始要求が行われていない(キューイングされておらず、実行中、実行済みでもない)場合、NoSuchJobRequestExceptionが発生します。

パラメータ:
reqId - リクエストID
timeout - タイムアウト秒
戻り値:
ジョブが停止した際のステータス
例外:
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない
TimeoutException - 指定した時間を経過してもジョブの終了通知が到着しない場合
BSException - バッチドメインエージェント、バッチコンテナとの通信に失敗した場合に発生します。
関連項目:
getStoppedStatus(JobName, String, Properties, long)

getStatus

BSJobRequestStatus getStatus(JobName job,
                             Properties jobParameters)
                             throws NoSuchJobRequestException,
                                    com.nec.webotx.batch.BSException
ジョブの状態を取得します。
次の呼び出しと同様です。
     getStatus(job, null, jobParameteres);
 

パラメータ:
job - JobName
jobParameters - ジョブパラメータ
戻り値:
ジョブのステータス
例外:
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない
BSException - 状態の取得に失敗した場合に発生します。
関連項目:
getStatus(JobName, String, Properties)

getStatus

BSJobRequestStatus getStatus(JobName job,
                             String reqId,
                             Properties jobParameters)
                             throws NoSuchJobRequestException,
                                    com.nec.webotx.batch.BSException
ジョブの状態を取得します。

取得した状態についての詳細はBSJobRequestStatus を参照してください。

パラメータ:
job - JobName
reqId - リクエストID
jobParameters - ジョブパラメータ
戻り値:
ジョブのステータス
例外:
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない
BSException - 状態の取得に失敗した場合に発生します。

getStatus

BSJobRequestStatus getStatus(String reqId)
                             throws NoSuchJobRequestException,
                                    com.nec.webotx.batch.BSException
リクエストIDのみを指定してジョブの状態を取得します。
start(JobName, String, Properties) のreqidを指定してジョブを開始している場合に、 reqidのみを指定して結果を取得します。

パラメータ:
reqId - リクエストID
戻り値:
ジョブのステータス
例外:
NoSuchJobRequestException - 指定されたジョブの開始要求が行われていない
BSException - 状態の取得に失敗した場合に発生します。
関連項目:
getStatus(JobName, String, Properties)


Copyright © 2012 NEC Corporation. All Rights Reserved.