Spring定时任务实现

首先在配置文件头部的必须要有:.


其次xsi:schemaLocation必须为其添加:

http://www.springframework.org/schema/task 
http://www.springframework.org/schema/task/spring-task.xsd

然后spring扫描过程必须涵盖定时任务类所在的目录:



设置动作启用定时任务及定时器线程池大小:









  1. 配置文件写定时时间
   
	
	
 

class类

/**
 * taskCrm
 */
@Component("taskCrm")
public class TaskCrm {

	public void autoEvaluate() throws Exception {
        System.out.println("Test is working......");
    }
}
  1. 代码写定时时间
@Component
@Lazy(value=false)
public class MyQuartzs {

    @Scheduled(cron = "*/5 * * * * ?")//每隔5秒执行一次
    public void test() throws Exception {
        System.out.println("Test is working......");
    }
}

说明:

任务调度器的配置详细参数说明:
task:scheduler/@pool-size:调度线程池的大小,调度线程在被调度任务完成前不会空闲
task:scheduled/@cron:cron表达式,注意,若上次任务未完成,即使到了下一次调度时间,任务也不会重复调度

  
      
  


任务执行器配置详细参数说明:
task:executor/@pool-size:可以指定执行线程池的初始大小、最大大小
task:executor/@queue-capacity:等待执行的任务队列的容量
task:executor/@rejection-policy:当等待队列爆了时的策略,分为丢弃、由任务执行器直接运行等方式


Spring TaskExecutor与TaskScheduler
Spring Scheduler 与 Quartz 进阶

你可能感兴趣的:(Spring定时任务实现)