@Scheduled 多线程执行

@Component
@Lazy(false)
public class UpdateDeviceTask {
    private Logger logger = Logger.getLogger(UpdateDeviceTask.class.getName());

    // 每5S执行
    @Scheduled(cron = "0/5 * * * * ? ")   //每10秒执行一次
    @Async
    public void TaskJob() throws InterruptedException {
        logger.info(new Date().toLocaleString());
        Thread.sleep(10000);
    }
}

@Configuration
public class SchedulingConfigurerConfiguration implements SchedulingConfigurer {

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        taskScheduler.setPoolSize(100);
        taskScheduler.initialize();
        taskRegistrar.setTaskScheduler(taskScheduler);
    }
}