Struts 1 + Spring 2.5.6 + Quartz 1.6スケジューラーの例
このチュートリアルでは、Struts + Spring + Quartzフレームワークを統合して、スケジューラタスクを実行します。 Springには、StrutsとQuartzを簡単に統合するための簡単なソリューションが付属しています。 次のような関係:
Struts <--(Plug-In)--> Spring <--(Spring-Helper)--> Quartz <---> Scheduler task
使用ツール:
-
Struts 1.3.10
-
春2.5.6
-
クォーツ1.6.3
1. スケジューラータスク
スケジューラタスクを作成します。printMessage()
はスケジュールするメソッドです。
ファイル:SchedulerTask.java
package com.example.common.quartz; public class SchedulerTask { public void printMessage() { System.out.println("Struts + Spring + Quartz integration example ~"); } }
2. スケジューラージョブ
SpringをQuartzと統合するには、Quartz Jobクラスの代わりに、SpringのQuartzJobBean
を拡張するSchedulerJobを作成します。
ファイル:SchedulerJob.java
package com.example.common.quartz; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class SchedulerJob extends QuartzJobBean { private SchedulerTask schedulerTask; public void setSchedulerTask(SchedulerTask schedulerTask) { this.schedulerTask = schedulerTask; } protected void executeInternal(JobExecutionContext context) throws JobExecutionException { schedulerTask.printMessage(); } }
3. 春のクォーツヘルパー
Springには、Quartzスケジューラプロセス全体(Scheduler、Trigget、Job、JobDetails)を簡素化するための多くのQuartzヘルパークラスが付属しています。
ファイル:spring-scheduler.xml
4. 支柱
SpringをStrutsと統合するには、SpringのContextLoaderPlugIn
をStruts構成ファイルに含める必要があります。
ファイル:struts-config.xml
5. 使い方
Strutsの初期化中に、SpringのContextLoaderPlugIn
Strutsプラグインを介してSpringIocコンテナを起動します。 Springの初期化中に、Quartzのスケジュールされたジョブが自動的に開始されます。
この例では、printMessage()
メソッドは5秒ごとに実行されます。