Springboot整合Quartz

目录

pom中导入需要的jar包的坐标

定义你要执行的任务

定义工作明细和触发器,将他们交给spring的IOC容器管理


流行的定时任务技术。

pom中导入需要的jar包的坐标

        
            org.springframework.boot
            spring-boot-starter-quartz
        

定义你要执行的任务

public class QuartzJob extends QuartzJobBean {

    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        for (int i=1;i<10;i++){
            String s="           ";
            for (int x=i;x>1;x--){
                System.out.print(s);
            }
            for(int j=i;j<10;j++){
                System.out.printf("%d * %d = %-3d",i,j,i*j);
            }
            System.out.println("");
        }
    }
}

这里我执行的是打印上三角九九乘法表。


定义工作明细和触发器,将他们交给spring的IOC容器管理

@Configuration
public class QuartzConfig {
    @Bean    //定义工作明细
    public JobDetail detail(){
        return JobBuilder
                .newJob(QuartzJob.class)
                .storeDurably()
                .build();
    }
    @Bean      //定义触发器
    public Trigger trigger(){
        CronScheduleBuilder schedule=CronScheduleBuilder.cronSchedule("0/30 * * * * ?");
        return TriggerBuilder
                .newTrigger()
                .forJob(detail())
                .withSchedule(schedule)
                .build();
    }
}

那个任务计划表从前往后依次是“秒        分        时        日        月        星期”,其中星期和日不能同时为“   ”,也不能同时为“  *  ”,我设置的是每隔30秒操作一次。

这样你就可以通过启动项目来观察了。

你可能感兴趣的:(Spring,Boot,spring,boot,java,spring)