spring配置定时任务Schedule

项目中需要配置个定时任务去扫描数据库表,刚开始想用quartz去实现,后来发现spring有个定时任务的注解@Scheduled,就尝试着用它来实现了,使用起来比较简单,在此记录下大概配置:

@Component
@Configuration
@EnableScheduling
public class SyncTask{
        
    /**
     * 定时扫描数据库表
     * */
    @Scheduled(fixedRateString="${job.schedule.rate}", initialDelayString="${job.init.delay}")
    public void testSchedule(){
        try{
            //具体的业务代码
            //to do
        }
        catch(Exception e){
            //exception
        }
    }

引用的资源文件定义在spring-boot的配置文件application.properties中:

spring配置定时任务Schedule_第1张图片

上面@Scheduled标签中的fixedRateString表示定时任务的间隔时间,单位为毫秒,initialDelayString是首次执行定时任务的延迟时间,单位也是毫秒。这里也可以直接配置cron表达式,可以直接写入参数,也可以通过占位符引用资源文件中的定义。另外别的参数配置可以参考一下链接的说明:

https://www.jianshu.com/p/1defb0f22ed1

 

 

你可能感兴趣的:(定时任务,@Scheduled)