目 录CONTENT

文章目录

springboot整合Quartz学习

在水一方
2022-10-01 / 0 评论 / 0 点赞 / 95 阅读 / 979 字 / 正在检测是否收录...

定时任务在企业级开发中是一个非常常见的功能,springboot对quartz做了进一步的封装,使得在使用上变得更加简单了,本小节来做一个学习

引入jar

        <dependency>
		   <groupId>org.springframework.boot</groupId>
		   <artifactId>spring-boot-starter-quartz</artifactId>
       </dependency>


编写简单任务


@Component
public class DiscountJob {
    public void execute() {
        System.out.println("更新数据库中商品价格,统一打5折");
    }
}


配置类的编写

@Configuration
public class QuartzConfig {

    /**
     * 配置JobDetail工厂组件,生成的JobDetail指向discountJob的execute()方法
     */
    @Bean
    MethodInvokingJobDetailFactoryBean jobFactoryBean() {
        MethodInvokingJobDetailFactoryBean bean = new MethodInvokingJobDetailFactoryBean();
        bean.setTargetBeanName("discountJob");
        bean.setTargetMethod("execute");
        return bean;
    }


    /**
     * 触发器工厂
     */
    @Bean
    CronTriggerFactoryBean cronTrigger() {
        CronTriggerFactoryBean bean = new CronTriggerFactoryBean();
        // Corn表达式设定执行时间规则
        bean.setCronExpression("00 10 14 ? * *");
        // 执行JobDetail
        bean.setJobDetail(jobFactoryBean().getObject());
        return bean;
    }
}


开启定时任务

注解方式
@EnableScheduling // 开启定时任务

配置文件的方式

类图

image.png

待续........

0

评论区