ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Quartz

2020-09-28 12:01:46  阅读:301  来源: 互联网

标签:触发 定时器 TRIGGERS 配置 job Quartz QRTZ


Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。还支持分布式调度

第一步,引入依赖:

  

   因为是springboot,所以直接有启动器帮我们配置了底层的文件,我们直接引入启动器即可

第二步,在yml/properties文件中配置相关参数:

  

  job-store-type:jdbc——这里意思是使用数据库来存储quartz的任务,还有就是memory(内存方式)

  jdbc:initialize-schema——这里是指项目启动的时候不初始化表数据

第三步,如果是使用jdbc作为存储,则需要在数据库中配置以下几张表:

  QRTZ_BLOB_TRIGGERS  QRTZ_CALENDARS  QRTZ_CRON_TRIGGERS

  QRTZ_FIRED_TRIGGERS  QRTZ_JOB_DETAILS  QRTZ_LOCKS

  QRTZ_PAUSED_TRIGGER_GRPS  QRTZ_SCHEDULER_STATE

  QRTZ_SIMPLE_TRIGGERS  QRTZ_SIMPROP_TRIGGERS

  QRTZ_TRIGGERS

  附上sql文件的传送门:https://www.cnblogs.com/joelYe/p/13744051.html

第四步,配置需要执行的job和触发器trigger即可,暂时使用了以下两种方式:

  第一种:手动配置job和trigger的Bean:

    创建一个需要执行的job类如图,重写executeInternal方法

      

   然后编写一个QuartzConfig配置类,在配置类中配置job和trigger触发器的出发时间:

    

    这里使用到了cron表达式,可以直接进入这个网站(https://cron.qqe2.com/),编写需要触发的时间

    这种定时器通常用于需要一直间断执行任务,比如上述的0时任务,需要一直轮询的工作

  第二种:需要某种特定的条件触发:

    同样编写了job后,在特定的条件下触发:

    

 

    可以在类中,也可以在其他地方,只需要引入SchedulerFactoryBean即可,创建好job,然后创建定时器,最好将定时器和job都保存到工厂里面即可,当调用了该方法就会自动触发这个定时器,定时器到时间后自动触发job

 

标签:触发,定时器,TRIGGERS,配置,job,Quartz,QRTZ
来源: https://www.cnblogs.com/joelYe/p/13744045.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有