SpringBoot配置定時任務(參數從數據庫中讀取)


一、新建配置類,配置TaskScheduler

@Configuration
public class ThreadAConfigurer  {

    
       @Bean("taskScheduler")
        public TaskScheduler taskScheduler() {
            ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
            taskScheduler.setThreadNamePrefix("autoTask");
            taskScheduler.setPoolSize(10);
            return taskScheduler;
        }

}

二、配置定時任務

  由於Thread的內注入service為空,所以以參數形式傳入到AutoSpThread類 ,taskRegistrar.addCronTask() 第二個參數配置定時啟動任務的日期

@Component
@Configuration
public class AutoSpTask implements SchedulingConfigurer {

    @Autowired
    GlobalServiceConfig globalServiceConfig;

    @Autowired
    AutoSpService autoSpService;
    
    @Autowired
    TaskScheduler taskScheduler;
    

    private static final Logger LOG = LoggerFactory.getLogger(AutoSplitTask.class);

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setTaskScheduler(taskScheduler);
        String tPath = globalServiceConfig.getTiPath();
        String dateStr = DateUtils.formatDate(new Date());
        LOG.info("掃描定時任務");

        taskRegistrar.addCronTask(
                new AutoSpThread(autoSplitService, dateStr, tPath),
                globalServiceConfig.getAutoSTaskCron());
        

    }


}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM