多线程运行定时任务:
重写Spring定时器线程池,每次使用时根据注解@Scheduled(cron = "0 0 0 * * ?")
描述:当同一时间有多个任务同时执行,多个任务将串行执行。重写定时器的线程池后,多个任务就可以根据实际情况并行执行了
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.stereotype.Component;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
/**
* <p>Description: [重写Spring定时器线程池]</p>
* Created on 2018年12月5日
* @author muyuanpei
* @version 1.0
* Copyright (c) 2019 北京柯莱特科技有限公司 交付部
*/
@Component
public class ScheduleConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(taskExecutor());
}
@Bean(destroyMethod="shutdown")
public Executor taskExecutor() {
return Executors.newScheduledThreadPool(2);
}
}
其他场景
异步处理,例如:发微博、记录日志等;
网友评论