简单配置
1. 不用导入其他依赖,只需要在启动类上加入@EnableScheduling
注解,启动对定时任务的支持
2. 编写异步任务配置类,使用@EnableAsync
启用对异步任务的支持,@Configuration
表示该类为配置类
3. 具体类
@Configuration
@EnableAsync
public class AsyncTaskConfig {
@Value("${task.async.pool.corePoolSize}")
int corePoolSize;
@Value("${task.async.pool.maxPoolSize}")
int maxPoolSize;
@Value("${task.async.pool.queueCapacity}")
int queueCapacity;
@Bean
public Executor taskExecutor(){
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(corePoolSize);
executor.setMaxPoolSize(maxPoolSize);
executor.setQueueCapacity(queueCapacity);
executor.initialize();
return executor;
}
}
关于配置文件信息
#异步任务线程池配置
task.async.pool.corePoolSize=10
task.async.pool.maxPoolSize=200
task.async.pool.queueCapacity=10
4. 创建任务类
@Component
public class AsyncTaskDemo {
@Async
@Scheduled(cron = "0/2 * * * * *")
public void task(){
System.out.println(this.hashCode());
}
}
5. 关于cron表达式写法,可以参考
http://cron.qqe2.com/