springmvc配置quartz入门

这里使用Java config配置方式,其他配置方式及详细内容请参考

https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling-quartz

这里只是任务的简单配置,更详细参数参考

http://www.quartz-scheduler.org/documentation/quartz-2.2.x/cookbook/

gradle依赖
compile 'org.quartz-scheduler:quartz:2.3.0'
compile 'org.quartz-scheduler:quartz-jobs:2.3.0'

//只展示了quartz相关配置
@Configuration
public class AppConfig(){
    @Bean
    public JobDetailFactoryBean jobDetailFactoryBean(){
        JobDetailFactoryBean jdf = new JobDetailFactoryBean();
        //自定义一个Job
        jdf.setJobClass(ExampleJob.class);
        JobDataMap jobDataMap = new JobDataMap();
        jobDataMap.put("timeout", 5);
        jdf.setJobDataMap(jobDataMap);
        return jdf;
    }

    @Bean
    public SimpleTriggerFactoryBean simpleTriggerFactoryBean(){
        SimpleTriggerFactoryBean triggerFactoryBean = new SimpleTriggerFactoryBean();
        triggerFactoryBean.setJobDetail(jobDetailFactoryBean().getObject());
        triggerFactoryBean.setStartDelay(1000);
        triggerFactoryBean.setRepeatInterval(1000);
        return triggerFactoryBean;
    }

    @Bean
    public SchedulerFactoryBean schedulerFactoryBean(){
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
        schedulerFactoryBean.setTriggers(simpleTriggerFactoryBean().getObject());
        schedulerFactoryBean.setAutoStartup(true);
        return schedulerFactoryBean;
    }
}
public class ExampleJob extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println(new Date());
    }
}

版权声明:本文为fengqiyuanluo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。