とりあえずやってみよう
以前から試してみようとは思っていたがついついほったらかしにしていたので少しずつ試してみる。いわゆる入門記なのだろうか…
1.DL
1.4.0が手元にあったが、サイトをみると1.4.1が置いてあった。特にアナウンスもないのだが、とりあえずreleaseNotes.txtを覗く。気になったのは、
Changes in version 1.4.1 (since version 1.4.0) 4- Added public setEndDate(Date) method to Trigger - the base class of all Triggers. 9- Fixed bug in RAMJobStore where triggers that fire StatefulJobs may end up permanently "blocked" if stored while the job is currently executing.
ぐらいだが基本的になんにも知らないのであんまり関係ないかも。
サンプルアプリっぽいのがあったので一緒にDL。13MB近くもあるが一体何が入ってるんだろう。
→なにやらSpringにWW2にSiteMeshにVelocityに…なんだか盛りだくさんな内容だがどうなってるんだろ。単純にQuartzのサンプルが見たいだけなのにねぇ。
2.Tutorialを読んでみる
->Using Quartz
どうやら SchedulerFactory でScheduler を作って start() を呼んだ後に、Job とTrigger を scheduleJob() してやればいいらしい… start した後ってのが何か変な感じ。
->Jobs & Triggers
Job(スケジューラに実行させる処理)を作るにはJobインタフェースを実装する。
package org.quartz; public interface Job { public void execute(JobExecutionContext context) throws JobExecutionException; }
Trigger(Jobを実行するタイミング)がfireされた時にexecuteが呼ばれる。JobExecutionContextにはいろいろ詰まっているらしい。
↓
キーワード:JobDetail、JobDataMap → 後で調べる
Trigger:SimpleTrigger(単発、繰り返し)とCronTrigger(カレンダー等を使った複雑なものに対応)の2種類ある
JobとTriggerを分けた理由、利点等…
JobとTriggerは名前とグループを持ち、その組み合わせで管理される。