[转]Spring2.5定时任务的多种使用方法总结

阅读更多
这里使用的是Spring2.5,需要的jar包:spring.jar(spring2.5的完全包);quartz-all-1.6.0.jar;还需commons-*.jar。

方法一:
任务调度工作类代码:

public class Clock extends TimerTask{         
    @Override     
    public void run() {            
       System.out.println("clock!");       
    }        
}  
 

应用上下文XML中的具体配置如下:
   
  
       
      
       
      
          
           
           
            5000       
          
           
           
            5000   
           
      
  
       
       
           
               
                  
               
           
      
   


方法二:
任务调度工作类代码:
public class QuartzClock extends QuartzJobBean {      
    @Override     
    protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {      
       System.out.println("QuartzClock!");      
    }       
}
   

应用上下文XML中的具体配置如下:
   
  
       
      
           
            com.QuartzClock   
           
      
      
       
      
  
       
      
          
           
              
            0/15 * * * * ?  
           
       
      
       
       
           
               
                  
               
           
       
    
 

方法三:
任务调度工作类代码:

public class TaskServiceImpl{  
    public void synchronizeDb(){  
        System.out.println("Quartz的任务调度!");   
    }  
}  
 

应用上下文XML中的具体配置如下:
  
  
     
      
      
      
      
      
          
          
            synchronizeDb  
          
          
      
      
      
      
          
          
          
              
              
              
              
            0/15 * * * * ?  
          
      
      
      
      
          
              
                  
              
          
      
  


特别说明:
Xml代码  收藏代码
0 0/2 * * * ? 每两分钟 
就上面的这个cron表达式,定时任务在第三种配置模式下,表现为以下行为:
定时任务是一个线程在执行,例如线程在09:00:00启动,且完成工作在09:02:00 之前,那么线程健在09:02:00再次启动。如果线程在09:00:00启动,且完成工作在09:02:00之后,那么线程健在完成时间再次启动。

在该配置下,总结规律如下:
1.定时任务将由一个线程启动,而不是多个线程执行。
2.该线程每两分钟启动一次,该时间间隔是线程每次启动的时间差,如果线程执行时间超出了两分钟的设定间隔,那么线程在执行完成后继续执行。

多线线程配置模式下的运行规律大家可以自行测试。

你可能感兴趣的:(spring,spring2.5,quartz,定时任务)