ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

4.20.2 バッチジョブの操作

バッチジョブの以下の操作について説明します。

実行

JobOperator クラスを使用して、バッチジョブを実行します。インタフェースの詳細は、jBatch公開のJavaDocを参照してください。EJBタイマやジョブスケジューラと連携することで、柔軟にバッチジョブの実行を行うことができます。

注意

  • Javaバッチ機能を使用する場合、Interstage DASサービス、またはIJServerクラスタ上でBatchRuntime#getJobOperator()が発行される前に使用するデータベースを起動させてください。

  • バッチジョブの実行時に、バッチステータスが、”STARTING”の状態で、バッチジョブが完了しない場合があります。その場合は、該当のサーバのサーバログを参照し、エラーが発生している場合は、再度、バッチジョブを実行してください。

状態確認

バッチジョブのインスタンス情報とバッチジョブやステップの実行情報を確認します。
バッチジョブのインスタンス情報の確認方法については、「10.1.21.1 list-batch-jobsサブコマンド」を参照してください。
バッチジョブの実行情報の確認方法については、「10.1.21.2 list-batch-job-executionsサブコマンド」を参照してください。
ステップの実行情報の確認方法については、「10.1.21.3 list-batch-job-stepsサブコマンド」を参照してください。

削除

バッチジョブのインスタンスあるいはインスタンスに含まれるバッチジョブ実行を削除する場合は、以下のAPIを使用します。

com.ibm.jbatch.spi.BatchJobUtilクラス

APIは以下のjarファイルに含まれます。

[Java EE 7インストールディレクトリ]\glassfish\modules\com.ibm.jbatch.spi.jar

[Java EE 7インストールディレクトリ]/glassfish/modules/com.ibm.jbatch.spi.jar

import com.ibm.jbatch.spi.BatchJobUtil;
import com.ibm.jbatch.spi.BatchSPIManager;
:
public void anyMethod() {
    long instanceId = ...;
    BatchJobUtil util = BatchSPIManager.getInstance().getBatchJobUtil();
    util.deleteJobInstance(instanceId);
}
:

注意

  • バッチジョブの運用に伴い、ジョブリポジトリに実行情報が格納されます。格納された情報は削除されないため、必要に応じてAPI、あるいはテーブル生成DDLにより削除してください。

  • ジョブリポジトリで使用するテーブルインデックスは、運用に伴い定期的に再構成するなどの処理が必要になる場合があります。詳しくは各データベース製品のドキュメントを参照してください。

バッチジョブインスタンスとバッチジョブ実行の表示数制限

以下のシステムプロパティを設定することにより、asadminコマンドのサブコマンド、list-batch-jobsおよびlist-batch-job-executionsの表示個数を制限できます。システムプロパティはサブコマンドを実行する対象(--targetオプションで指定)ごとに設定する必要があります。

プロパティ名

com.fujitsu.interstage.jbatch.jobinstance.listsize

1から2147483646 (Integer.MAX_VALUE -1)

注意

システムプロパティに設定した値が上記数値の範囲外、あるいは数値以外の文字列(空文字列を含む)の場合は、システムプロパティの値として「200」を設定したものとみなします。

このシステムプロパティに数値を設定することにより、設定した数を上限に、ジョブインスタンスが、ジョブインスタンスIDの降順で抽出されます。いずれのコマンドについても抽出されたジョブインスタンスに関連するジョブ実行の情報がサブコマンドの結果として表示されます。また、その結果はジョブ名ごとではなく、ジョブインスタンスIDごとにまとめられます。

このシステムプロパティを設定すると、管理コンソールの「バッチジョブ実行」タブについても同様に表示行数が制限されます。

システムプロパティの設定には「10.1.16.1 create-system-propertiesサブコマンド」を使用します。

あるIJServerクラスタ「testcluster」について、list-batch-jobs/list-batch-job-executionsサブコマンドで表示するバッチジョブインスタンスを最大100件に制限する場合

C:\Interstage\F3FMisje7\glassfish\bin\asadmin create-system-properties --target testcluster com.fujitsu.interstage.jbatch.jobinstance.listsize=100

/opt/FJSVisje7/glassfish/bin/asadmin create-system-properties --target testcluster com.fujitsu.interstage.jbatch.jobinstance.listsize=100

バッチジョブの文字列長制限

ジョブリポジトリのテーブルに格納可能な文字列長に制限があるため、バッチジョブで使用する幾つかの文字列については下記の長さを超えないようにしてください。

要素名

制限長(単位:バイト)

ジョブ名(job id)

128

ステップ名(step id)

128

スプリット名(split id)

128

フロー名(flow id)

128

終了ステータス(exit status)

256