Spring Boot集成Quartz

建立SpringBoot项目

参考:http://www.javashuo.com/article/p-nqmlkfay-bq.htmljava

添加Quartz依赖,配置pom文件

<!--用到Me-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
</dependency>
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.0</version>
</dependency>

建立任务调度配置文件ScheduledConfiguration.java

@Configuration
public class ScheduledConfiguration {

    /**
     * 定义JobDetail
     * @param schedledTasks
     * @return
     */
    @Bean
    public MethodInvokingJobDetailFactoryBean datailFactoryBean(SchedledTasks schedledTasks){
        MethodInvokingJobDetailFactoryBean bean = new MethodInvokingJobDetailFactoryBean();
        //设置对应的job对象
        bean.setTargetObject(schedledTasks);
        //设置schedledTasks对应的方法名
        bean.setTargetMethod("excute");
        return bean;
    }

    /**
     * 定义trigger
     * @param jobDetail
     * @return
     */
    @Bean
    public CronTriggerFactoryBean cronTriggerFactoryBean(MethodInvokingJobDetailFactoryBean jobDetail){
        CronTriggerFactoryBean trigger = new CronTriggerFactoryBean();
        trigger.setJobDetail(jobDetail.getObject());
        trigger.setCronExpression("0/5 * * ? * *");//每5秒执行一次
        return trigger;
    }

    /**
     * 定义scheduler
     * @param trigger
     * @return
     */
    @Bean
    public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean trigger){
        SchedulerFactoryBean scheduler = new SchedulerFactoryBean();
        scheduler.setTriggers(trigger.getObject());
        return scheduler;
    }
}

建立SchedledTasks.java

@Component
public class SchedledTasks {

    public void excute(){
        //执行任务
        System.out.println("excute == " + new Date());
    }
}

测试