目次 > 第2章 バッチフレームワークチュートリアル > 2.3 ファイルアクセス機能を用いた単純なジョブ > 2.3.2 ジョブコンテキストの実装
2.3.2 ジョブコンテキストの実装
本節では、起動パラメータを取得し、ジョブコンテキストに設定する方法について説明する。
処理内容
- ジョブの起動パラメータより運用日付を取得する。
- 取得した運用日付をジョブコンテキストに設定する。
設計情報例
ジョブ起動パラメータ例
ジョブ主処理入力値例
ジョブ主処理出力値例
手順
1. “JB0002JobContext.java”を作成
本節のジョブで使用するジョブコンテキストクラスを作成する。必ず“jp.terasoluna.fw.batch.openapi.JobContext”クラスを継承すること。
また、“setParameter”メソッドを実装し起動パラメータを属性に設定する処理を記述する。
- パッケージエクスプローラビューで、“sources”フォルダを右クリックする。
- 「新規」→「クラス」を選択し、パッケージに“jp.terasoluna.batch.tutorial.uc0001”、名前に“JB0002JobContext”を入力し、「終了」を押下する。
- “JB0002JobContext.java”を以下のように作成する。
/*
* Copyright (c) 2007 NTT DATA Corporation
*
*/
package jp.terasoluna.batch.tutorial.uc0001;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import jp.terasoluna.fw.batch.openapi.JobContext;
/**
* ビジネスロジック、ジョブ前処理・ジョブ後処理で共有されるクラス。
*/
public class JB0002JobContext extends JobContext {
/**
* Serializable用バージョンID。
*/
private static final long serialVersionUID = -3997908200329994279L;
/**
* 運用日付
*/
private Date unyohiduke = null;
/**
* 処理件数のカウント
*/
private int count = 0;
/**
* 起動時の引数をジョブコンテキストに設定する。
*
* @param arg 起動時に指定した第3引数以降の値
*/
@Override
public void setParameter(String[] arg) {
try {
//起動パラメータから運用日付を取得する
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
unyohiduke = sdf.parse(arg[0]);
} catch (ParseException e) {
e.printStackTrace();
}
}
/**
* 運用日付を返却する。
* @return 運用日付
*/
public Date getUnyohiduke() {
return unyohiduke;
}
/**
* 運用日付を設定する。
* @param unyohiduke 運用日付
*/
public void setUnyohiduke(Date unyohiduke) {
this.unyohiduke = unyohiduke;
}
/**
* 処理件数をカウントアップする。
*/
public void incrementCount() {
count++;
}
/**
* 処理件数を返却する。
* @return 処理件数。
*/
public int getCount() {
return count;
}
}
2. “JB0002.xml”を編集
“JB0002.xml”にジョブコンテキストの定義を追加する。
手順1で作成した“JB0002JobContext”を指定するため、以下の定義を<beans></beans>内に追加する。
<!-- ジョブコンテキスト --> <bean id="jobContext" class="jp.terasoluna.batch.tutorial.uc0001.JB0002JobContext" />
参考資料
- 『BD-01 ビジネスロジック実行機能』
- 『BE-01 同期型ジョブ起動機能』