• 后端——框架——定时任务——quartz——Calendar & JobStore


    1、Calendar

      calendar用于排除或包含特定的年月日,时分秒,或完整日期。它的类结构如下:

      

       Calendar顶层接口。

    BaseCalendar: 它用于抽象Calendar的公共操作和公共属性,其他Calendar都继承它。

    AnnualCalendar指定时间段,单位为年

    WeelyCalendar指定时间段,单位为周

    MontlyCalendar:指定时间段,单位为月

    DailyCalendar:指定时间段,单位为天。

    HolidayCalendar:特殊日期,天时间段

    CronCalendar:指定时间段,根据Cron表达式。

    使用Calendar的步骤较为简单:

    第一步,创建Calendar, 并添加到Scheduler中。

    DailyCalendar calendar = new DailyCalendar("9:22:00","9:30:00");
    scheduler.addCalendar("calendar", calendar, false, false);
    

      第二步,使用TriggerBuilder方法时,添加modifiedbyCalendar,参数为calendar的名称。

    return TriggerBuilder.newTrigger()
        .withIdentity("test trigger", "test")
        .startNow()
           .withSchedule(simpleSchedule().repeatSecondlyForTotalCount(6)
        .withIntervalInMinutes(1))
        .modifiedByCalendar("calendar")
        .build();
    

    2、 JobStore

      Quartz支持三种类型的JobStore。

    RAMJobStore:存储在内存中,程序中断之后,内存会被清空。

    JDBCJobStore:存储在数据库中,需要导入相关的表。

    TerracottaJobStore:不常用,略。

  • 相关阅读:
    【刷题】LeetCode刷刷刷 — 2021-05-31(2)
    【刷题】LeetCode刷刷刷 — 2021-05-31(1)
    【刷题】LeetCode刷刷刷 — 2021-05-30(2)
    适配器模式
    跨端开发框架各方评价【整合】+思索
    uni-app运行到小程序报错onStreamRead
    序列化
    tkinter---GUI
    tkinter--抽奖
    6位数(字母和数字)验证码
  • 原文地址:https://www.cnblogs.com/rain144576/p/14749936.html
Copyright © 2020-2023  润新知