quartz石英任务

2023-11-18

定时任务:
      quartz:的几大核心概念
Job:任务(我们需要完成的事情);【要炸大本营】
JobDetail:任务详情(任务怎么做,谁来做);
        【执行任务需要的对象,数据信息等】【张三,50吨TNT】
    quartz:为了并发执行;
    Job(定义任务怎么执行的类)---JobDetail(当次执行的实例);
Trigger:触发器;用来执行任务的;【炸药的引信】
Scheduler:调度器;调度任务;【帮我们在指定时间触发trigger】【中控台】
                scheduler.scheduleJob(job, trigger);

步骤:
    1)、导入相关依赖;

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
   2.1)配置版

@Service
public class QuartzService {
    
    public void hello(){
        System.out.println("hello world...");
    }
    
    public void msg(){
        System.out.println("hello msg...");
    }
}


<!-- 1、定义一个JobDetail -->
    <bean id="jobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- targetObject目标对象;ref指向目标对象的id -->
        <property name="targetObject" ref="quartzService" />
        <!-- targetMethod目标方法 -->
        <property name="targetMethod" value="hello" />
    </bean>
    <!-- 2、创建一个触发器关联任务 -->
    <bean id="cronTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <!-- jobDetail:传入需要执行的任务的jobDetail -->
        <property name="jobDetail" ref="jobDetail" />
        <!-- 指定cronExpression;cron表达式来指定什么时候执行 0(秒) 0(分) 6(时) *(日) *(月) ?(周) *(年【可以省略】) -->
        <property name="cronExpression" value="* * * * * ?" />
    </bean>
    <!--3、创建Scheduler(调度中心),负责调度每一个触发器 -->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <!-- 可以使用多个触发器同时生效 -->
                <ref bean="cronTrigger" />
            </list>
        </property>
    </bean>

2.2)注解版

@EnableScheduling  //开启调度功能;
//@EnableXXX只需要出现一次即可
@Service
public class QuartzService {
    
    //配置版会进行任务调度
    public void hello(){
        System.out.println("hello world...");
    }
    
    //这是一个定时任务
    //注解版的任务调度起作用必须开启注解版的任务调度功能;
    @Scheduled(cron="* * * * * ?")
    public void msg(){
        System.out.println("hello msg...");
    }
}

3)写法实例

(cron="7 8 9 10 11 ?"):11月10日9点8分7秒启动一次这个任务
0 0 10,14,16 * * ? 每天上午 10 点,下午 2 点, 4  
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时  
0 0 12 ? * WED 表示每个星期三中午 12  
"0 0 12 * * ?" 每天中午 12 点触发  
"0 15 10 ? * *" 每天上午 10:15 触发  
"0 15 10 * * ?" 每天上午 10:15 触发  
"0 15 10 * * ? *" 每天上午 10:15 触发  
"0 15 10 * * ? 2005" 2005 年的每天上午 10:15 触发  
"0 * 14 * * ?" 在每天下午 2 点到下午 2:59 期间的每 1 分钟触发  
"0 0/5 14 * * ?" 在每天下午 2 点到下午 2:55 期间的每 5 分钟触发  
"0 0/5 14,18 * * ?" 在每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发  
"0 0-5 14 * * ?" 在每天下午 2 点到下午 2:05 期间的每 1 分钟触发  
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午 2:10 2:44 触发  
"0 15 10 ? * MON-FRI" 周一至周五的上午 10:15 触发  
"0 15 10 15 * ?" 每月 15 日上午 10:15 触发  
"0 15 10 L * ?" 每月最后一日的上午 10:15 触发  
"0 15 10 ? * 6L" 每月的最后一个星期五上午 10:15 触发  
"0 15 10 ? * 6L 2002-2005" 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发  
"0 15 10 ? * 6#3" 每月的第三个星期五上午 10:15 触发


如果觉得麻烦还有专门的转换器进行下载

链接:https://pan.baidu.com/s/1bcmTdT7Th7B1DAcfr0M3Iw 密码:lh15

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

quartz石英任务 的相关文章

  • easyexcel读取excel将数据存到mysql【一个简单的例子】

    读取excel 1 xml里面增加maven
  • 使用Java程序向手机发送短信

    JAVA发送手机短信 有几种方法 1 使用webservice接口发送手机短信 这个可以使用sina提供的webservice进行发送 需要进行注册 2 使用短信mao的方式进行短信的发送 这种方式应该是比较的常用 前提是需要购买硬件设备
  • 变分推断

    一 概述 对于概率模型来说 如果从频率派角度来看就会是一个优化问题 从贝叶斯角度来看就会是一个积分问题 从贝叶斯角度来看 如果已有数据 x x x 对于新的样本 x hat x
  • 转债打新监听

    不炒股 只打新捡点小钱 package com github niefy modules job run import cn hutool core convert Convert import cn hutool core util Nu

随机推荐

  • 软件测试基础知识个人笔记

    一 为什么要测试 软件系统越来越成为生活中不可或缺的一部分 缺陷不可避免 软件不正确执行可能会导致很多问题 二 软件测试的定义 软件测试 描述一种用来促进鉴定软件的正确性 完整性 安全性和质量的过程 维基百科 公司主流观点 测试是一个包含计
  • eclipse注释模板

    eclipse注释模板 一 配置步骤 Eclipse中 gt Window gt Preferences gt Java gt Code Style gt Code Templates 二 模板示例 Files 文件 Title file
  • java 多线程执行时间测试,TestNG中实现多线程并行,提速用例的执行时间

    TestNG是一个开源自动化测试工具 TestNG源于Junit 最初用来做单元测试 可支持异常测试 忽略测试 超时测试 参数化测试和依赖测试 除了单元测试 TestNG的强大功能让他在接口和UI自动化中也占有一席之地 以Java为例 目前
  • Spring源码之Bean的生命周期

    Spring已经成为了目前最流行的第三方开源框架之一 我们在充分享受Spring IOC容器带来的便捷时 也应该考虑一下Spring这个大工厂是如何将一个个的Bean生产出来的 我们一起来讨论一下Spring中Bean的生命周期 Sprin
  • 内容提供者ContentProvider和内容解析者ContentResolver

    简介 ContentProvider 在android中的作用是对外共享数据 也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问 其他应用可以通过ContentProvider 对你应用中的数据进行添删改查 关
  • 微信小程序第三篇:获取页面节点信息

    文章目录 获取节点信息 createSelectorQuery selectViewport boundingClientRect fields 获取节点信息 createSelectorQuery wx createSelectorQue
  • MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互

    目录 一 连接查询 1 内连接 2 外连接 二 表结构的修改 alter 1 修改表名 2 修改字段名 3 修改字段类型 modify 4 添加字段 1 添加日期字段 datetime 2 enum字段 5 删除字段 三 约束条件 1 默认
  • <artifactId>mysql-connector-java</artifactId>

    加载MySQL驱动程序 Class forName com mysql cj jdbc Driver 建立连接 String url jdbc mysql localhost database name String username us
  • CAS乐观锁使用AtomicStampedReference版本号控制手动实现原子计数

    原子计数可以直接使用AtomicInteger 下面采用AtomicStampedReference的版本号控制原子操作解决ABA问题 最终结果一定最大的是200000 1A gt 2B gt 3A public class AtomicR
  • Nginx+uWSGI+Supervisor配置

    目录 一 Nginx 1 Nginx是什么 Nginx的特点 Nginx的事件处理机制 Nginx的内部 进程 模型 Nginx是如何处理一个请求 2 部署nginx 安装nginx nginx操作 测试nginx是否能用 配置nginx
  • Android bpf简单上手教程

    背景 业界对Android的性能监控 hook 系统分析 抓包 逆向等领域的关注和投入在不断提升 作为Linux Kernel中新兴的优美的一套技术框架 bpf逐渐在Android中被用于监控 分析 优化和逆向 产出了众多的工具 此外 Go
  • 一个程序员的现状

    前一阵子读了 Java夜未眠 有一个系列是说台湾程序员的的生活现状的 看后还真是有够感慨的 于是就想把自己的现状整理一下 再结合自己的工作经历 看看是否能反映出我们这一批程序员的普遍的生存状态 一 从专业说起 论程序员的出身专业 那无非就两
  • twaver html5 如何设置节点不可拖动

    解决思路 1 创建一个不可移动的图层 layer 2 设置不可拖动的节点node 的图层为 layer 见代码 var box new twaver ElementBox var network new twaver vector Netw
  • Debug Hacks学习笔记-1

    大多数Linux发行版关闭了内存转储功能 使用ulimit命令查看当前的内存转储是否有效 ulimit c 如果为0则关闭了 使用ulimit c unlimited或者设置一个上限可开启内核转储 当发生问题时进程的内存就会全部转储到内存转
  • mobaxterm设置中文界面显示_Adobe系列2020如何更改界面显示语言

    关于这个问题 网上有很多教程 最近几年版本的Adobe全家桶将界面显示语言设置放在了 AMT 文件夹下的 application xml 文件内 但我照着这些方法找了半天 发现application xml文件里根本就没有 zh CN 或
  • 目标检测之YOLOv1算法分析

    网络结构 卷积层 池化层 全连接层 输入 448 448 448 448 448 448大小的图片 输出 7 7
  • 王垠

    4 相关链接 王垠的Email shredderyin gmail com 王垠的自建博客 http www yinwang org 王垠的新浪博客 http blog sina com cn yinwang0 知乎上的 王垠 话题 htt
  • Windows脚本导入导出Mongodb数据库文件实现备份与恢复

    导出指定时间范围的数据 echo off setlocal rem 提前将MongoDB安装的bin路径加到系统环境变量PATH里面 方便直接运行mongodump命令 if not exist D MongoDB backup goto
  • js 原生导出 excel 文件

    const data name 张三 age 18 name 李四 age 20 const list 名字 t年龄 data map i gt i name t i age const blob new Blob list join n
  • quartz石英任务

    定时任务 quartz 的几大核心概念 Job 任务 我们需要完成的事情 要炸大本营 JobDetail 任务详情 任务怎么做 谁来做 执行任务需要的对象 数据信息等 张三 50吨TNT quartz 为了并发执行 Job 定义任务怎么执行