SpringBatch を実行する

最終更新日: 2022年6月20日

利用方法

指定時間になるとログ(system.log)の内容を読み込み、条件に合致するログ内容をメールで送信します。

ジョブの設定

設定方法

  1. 管理者権限をもったアカウントでログオンします。
  2. 管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
  3. 「登録画面へ」ボタンを押下し、ジョブスケジュールの新規登録処理を行います。
  4. ジョブ名から「BatchJobLauncher」を選択します。その下の説明欄に「バッチジョブ起動」と表示されます。
    ジョブの設定
  5. ジョブパラメータの「追加」ボタンを押し、キーと値を指定します。
    キーと値の記述方法については、指定できるジョブパラメータをお読みください。
    ジョブの設定
  6. ジョブの実行スケジュールを指定します。
  7. 「有効」にチェックを入れます。これにより、このジョブが有効になります。
    ジョブを有効にする
  8. 「ジョブ実行するアカウント」を指定します。ここでは"jobadmin"とします。
    「パスワード」欄には上で指定したアカウントのパスワードを入力します。
    実行アカウントとパスワードを入力
    アカウント"jobadmin"を利用するには事前に「準備:ジョブ実行アカウントを利用可能にする」を行う必要があります。
  9. 「保存」ボタンを押してジョブスケジュールを登録します。指定した時間になると、コマンドが実行されます。
    ジョブスケジュールの登録が完了した

ジョブの実行結果は、ログファイル(system.log)に記録されます。

指定できるジョブパラメータ

ジョブに指定するパラメータを複数、指定することができます。
ここで指定できるパラメータ(キーと値)は次の通りです。

キー(パラメータ名) 必須 説明 値の記述例
jobid 実行したいジョブの識別子(ID)を指定します。[詳細...] Batch1
param:パラメータ名 スクリプトに渡すパラメータを指定します。"param:" の後に続く文字列がパラメータ名になります。渡す値は文字列のみ、となります。 param:targetdate

暗黙的なジョブパラメータ 8.3.1

スケジュールジョブとして実行された場合、暗黙的なジョブパラメータ __jfc_startDate が自動的に含まれます。ジョブを実行した日付が格納されます。(実体は java.util.Date オブジェクトです。)

メール送信の設定

上記パラメータとあわせて「ジョブの実行結果をメールで送信する」設定を行ってください。これによってログの内容を指定したメールアドレスへ送信します。

メール送信パラメータ mail:doNotSendEmptyMessage にtrueを指定すると、ログが存在しなかった場合はメールは送信されません。

ジョブの実行を停止する

ジョブを一時的に無効にすることができます。

  1. 管理者権限をもったアカウントでログオンします。
  2. 管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
  3. 該当する「ジョブスケジュール」を検索し、更新画面を開きます。
  4. 「有効」フラグについているチェックをはずし、保存します。
    ジョブを無効にする

実行結果をメールで送信する

ジョブの実行結果をメールで送信することができます。

ジョブパラメータ mail:doNotSendEmptyMessage に true を設定すると、メッセージが空(閾値を超えていない)場合はメールの送信は行われません。

多重実行の抑制

ジョブの多重実行を行うことはできません。

あるジョブを 1 分毎に起動させるようにした場合、1 分後にこのジョブの実行が終了していなければ、新しいジョブは実行されません。

すぐに実行する

時間指定ではなく、このジョブを今すぐ実行することもできます。「ジョブの即時実行」をお読みください。

実行対象 8.3.1

オートスケール環境でない場合、常に "1インスタンス" としてください。

オートスケール環境でジョブを運用する場合、"1インスタンス" と "全インスタンス" を選択することができます。[詳細...]