spring 定时器的配置

1.web.xml文件的配置




org.springframework.web.util.IntrospectorCleanupListener

2.timer-spring文件配置







   
     
     
   

 
   
       
       
                         0 0/15 * * * ?
               
       

   

    
   
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       
            tokenHandlerSchedule
       

       
           
               
           

       

       
            true
       

   

     
   
   
   
   

   
        
     
     
          
            
            
           
    
     
    
 
    
 
    
   
       
       
                         1 0 * * * ?
               
       

   

     
     
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       
            mainSchedule
       

       
           
               
           

       

       
            true
       

   

     

3.TelTokenTask(实现类)

public class TelTokenTask extends QuartzJobBean implements org.quartz.Job{                                       //只有选其中一种就可,或者什么都不要,自己写方法实现就行


    private static final Logger LOGGER = LogManager.getLogger(TelTokenTask.class);
    
    @Override
    protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
        // 若刚在10秒内更新的token则更新token的任务延迟10秒再执行
        if(null!=TokenManager.getInstance().getUpdateTime() ){
            boolean authCodeOverdue=(new Date().getTime()-TokenManager.getInstance().getUpdateTime())<=10*1000;
            if(authCodeOverdue){
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    LOGGER.error(e);
                }
            }
        }
        TokenHandler handler=new TokenHandler();
        handler.run();
    }


 
}

当不实现活继承时,配置文件中的bean的class要修改成:

  1. class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  

你可能感兴趣的:(java技术总结)