Spring3.0以后引入的定时任务工具:spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种。spring通过接口TaskExecutor和TaskScheduler这两个接口的方式为异步定时任务提供了一种抽象。
XML配置
Spring提供了task命名空间,让配置定时任务非常简单。
|
|
说明:ref参数指定的即任务类,method指定的即需要运行的方法,cron指定cronExpression表达式
注意:<task:schedule-tasks scheduler="scheduler"> 这里的scheduler必须显式指定,否则它只会使用默认的值,默认为单线程的。
任务Job
|
|
TaskExecutor
|
|
task:executor会注册一个ThreadPoolTaskExecutor执行器,可以使用它的相关属性来配置该执行器。
|
|
pool-size:线程池大小,如果只是设置了一个值。则corePoolsize和maxPoolSize都是这个值。queue-capacity:队列大小rejection-policy: 队列满的时候,使用的拒绝策略。