博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot集成quartz实现任务调度
阅读量:5289 次
发布时间:2019-06-14

本文共 3186 字,大约阅读时间需要 10 分钟。

quartz

概述
  • 特点
    • 强大的调度功能
    • 灵活的应用方式
    • 分布式和集群能力
  • 用到的设计模式
    • Builder 模式
    • factory模式
    • 组件模式
    • 链式写法
  • 体系结构
    • 调度器
    • 任务
    • 触发器
  • 架构图
    • Alt text

      spring boot quartz
  • pom配置
org.quartz-scheduler
quartz
2.2.3
org.springframework
spring-context-support
org.springframework
spring-tx
5.1.3.RELEASE
  • 编写job类
package com.ltf.shop.quartzdemo;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class HelloJob implements Job {    @Override    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {        System.out.println("hello word quartz");    }}
  • 编写quartz定义类
package com.ltf.shop.quartzconfig;import com.ltf.shop.quartzdemo.HelloJob;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.quartz.CronTriggerFactoryBean;import org.springframework.scheduling.quartz.JobDetailFactoryBean;import org.springframework.scheduling.quartz.SchedulerFactoryBean;@Configurationpublic class QuartzConfig {    /**     * 创建Job对象     */    @Bean    public JobDetailFactoryBean jobDetailFactoryBean()    {        JobDetailFactoryBean factory=new JobDetailFactoryBean();        factory.setJobClass(HelloJob.class);        return  factory;    }    /**     * 创建Job对象     *///    @Bean//    public SimpleTriggerFactoryBean simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean)//    {//        SimpleTriggerFactoryBean simpleTriggerFactoryBean=new SimpleTriggerFactoryBean();//        //关联JobDetail对象//        simpleTriggerFactoryBean.setJobDetail(jobDetailFactoryBean.getObject());//        //设置执行的毫秒数//        simpleTriggerFactoryBean.setRepeatInterval(3000);//        simpleTriggerFactoryBean.setRepeatCount(15);//        return simpleTriggerFactoryBean;//    }//    /**//     * 创建scheduler对象//     *///    @Bean//    public SchedulerFactoryBean schedulerFactoryBean(SimpleTriggerFactoryBean simpleTriggerFactoryBean)//    {//        SchedulerFactoryBean schedulerFactoryBean=new SchedulerFactoryBean();//        schedulerFactoryBean.setTriggers(simpleTriggerFactoryBean.getObject());//        return schedulerFactoryBean;//    }    @Bean    public CronTriggerFactoryBean cronTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean)    {        CronTriggerFactoryBean cronTriggerFactoryBean=new CronTriggerFactoryBean();        cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean.getObject());        cronTriggerFactoryBean.setCronExpression("0/2 * * * * ?");        return cronTriggerFactoryBean;    }    @Bean    public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean)    {        SchedulerFactoryBean schedulerFactoryBean=new SchedulerFactoryBean();        schedulerFactoryBean.setTriggers(cronTriggerFactoryBean.getObject());        return schedulerFactoryBean;    }}

转载于:https://www.cnblogs.com/frankltf/p/10205654.html

你可能感兴趣的文章
php程序突然不能用file_get_contents()访问远程网址了?
查看>>
git clone 报错 fatal: remote did not send all necessary objects
查看>>
VirtualBox Host-Only 连接设置
查看>>
音频重采样
查看>>
【NOI OJ】一大波题正在飞来(ˉ▽ ̄~) 我才不是 Ctrl C + Ctrl V 的人呢
查看>>
BootStrap学习
查看>>
Unity又称Unity Application Block
查看>>
Git的安装与使用
查看>>
C# AutoResetEvent
查看>>
最近学到的前后端分离知识
查看>>
逆向工具整理
查看>>
应用安全-安全设备-Waf系列-软Waf-云锁
查看>>
安全运维 - Linux系统维护
查看>>
安全运维 - Linux系统攻击应急响应
查看>>
安全运维 - Windows系统维护
查看>>
vuex
查看>>
CSS定位
查看>>
html代码标签
查看>>
CSS3的一些笔记
查看>>
let、var、const
查看>>