Struts 1 Spring 2.5.6 Quartz 1.6スケジューラの例

Struts 1 + Spring 2.5.6 + Quartz 1.6スケジューラーの例

このチュートリアルでは、Struts + Spring + Quartzフレームワークを統合して、スケジューラタスクを実行します。 Springには、StrutsとQuartzを簡単に統合するための簡単なソリューションが付属しています。 次のような関係:

Struts <--(Plug-In)--> Spring <--(Spring-Helper)--> Quartz <---> Scheduler task

使用ツール:

  1. Struts 1.3.10

  2. 春2.5.6

  3. クォーツ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のContextLoaderPlugInStrutsプラグインを介してSpringIocコンテナを起動します。 Springの初期化中に、Quartzのスケジュールされたジョブが自動的に開始されます。

この例では、printMessage()メソッドは5秒ごとに実行されます。

ソースコードをダウンロード

ダウンロード–Struts-Spring-Quartz-Example.zip

参考文献

詳細な説明については、次のチュートリアルを参照できます。