目次 > 第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 同期型ジョブ起動機能』