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 = "包名+类名")

    代码如下:

  • 相关阅读:
    python chr()、unichr()和ord()
    串的重复
    HDOJ 1465 不容易系列之一
    HDOJ 2050 折线分割平面
    最小距离
    HDOJ 2013 蟠桃记
    三进制转十进制
    数组转置
    蔬菜价格
    扑克牌移动
  • 原文地址:https://www.cnblogs.com/zhangxiaozhen/p/11219138.html
Copyright © 2011-2022 走看看