全ジョブへの共通情報の渡し方

Quartzによってジョブ(Jobインタフェースの実装オブジェクト)が実行される場合,JobオブジェクトにJobExecutionContextオブジェクトが渡される。これは,サーブレットのServletContextオブジェクトと同様に,実行対象のJobオブジェクトの状況(まさにコンテキスト)の情報が保持されている。 各ジョブのSchedulerへの登録は,Jobクラス(のサブクラス)のクラスオブジェクト(HogeJob.classなど)を登録することになるため,実際に実行対象となるJo...

Quartzでのジョブ重複起動の抑止方法

バッチ処理に欠かすことのできないジョブスケジューラ。特にJavaの場合は,JavaVMというプロセス自体が重厚なために,個々のバッチプログラムをそれぞれJavaVMプロセス起動で実行することは,バッチプログラムの本数が多くなればなるほど非現実的になる。そのために,一つのJavaVM上でのジョブスケジューリングが基本となり,つまり各バッチ処理をプロセスとしてではなく,スレッドとして実行する基盤が欲しくなってくる。 スレッドを使用したことのある開発者であれば,必要最低限なジョブスケジューリング...