zoukankan      html  css  js  c++  java
  • spring boot使用定时器框架Quartz案例

    一、你需要在项目中加入quartz-all-2.1.7.jar的jar包(我这里使用spring boot环境)

    二、然后需要新建一个类去注册定时任务和销毁定时任务,这个类需要实现ServletContextListener的接口中的contextInitialized和contextDestroyed方法

    三、接着就是去定义你自己的定时任务了,也就是再去新建一个类去实现Job的接口中的execute()方法,这个方法就是你在定时任务执行的时候要执行的内容

    1, SimpleTrigger 指定从某一个时间开始,以一定的时间间隔(单位是毫秒)执行的任务。也就是他是以毫秒来计时。

    2, CalendarIntervalTrigger
    类似于SimpleTrigger,指定从某一个时间开始,以一定的时间间隔执行的任务。 但是不同的是SimpleTrigger指定的时间间隔为毫秒,没办法指定每隔一个月执行一次(每月的时间间隔不是固定值),而CalendarIntervalTrigger支持的间隔单位有秒,分钟,小时,天,月,年,星期。相较于SimpleTrigger有两个优势:1、更方便,比如每隔1小时执行,你不用自己去计算1小时等于多少毫秒。 2、支持不是固定长度的间隔,比如间隔为月和年。但劣势是精度只能到秒。
    它适合的任务类似于:9:00 开始执行,并且以后每周 9:00 执行一次
    3.DailyTimeIntervalTrigger 
    指定每天的某个时间段内,以一定的时间间隔执行任务。并且它可以支持指定星期。 
    它适合的任务类似于:指定每天9:00 至 18:00 ,每隔70秒执行一次,并且只要周一至周五执行。

    注意一:这里使用监听器用@WebListener注解则可证明此类为Listener,无需另外配置

    注意二:使用注解申明Listener时需要启动类上面添加@ServletComponentScan(basePackages = "包名+类名")

    代码如下:

  • 相关阅读:
    react 性能优化
    JS获取当前网页大小以及屏幕分辨率等
    创建对象的6种方式总结
    版本号规则
    JS事件模型
    浅谈虚拟DOM
    浏览器的回流与重绘
    JavaScript预编译
    canvas学习笔记
    java、tomcat安装
  • 原文地址:https://www.cnblogs.com/zhangxiaozhen/p/11219138.html
Copyright © 2011-2022 走看看