Solon

quartz-solon-plugin

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>quartz-solon-plugin</artifactId>
</dependency>

1、描述

调度扩展插件,基于 quartz 框架进行适配。提供了一个增强的注解 @Quartz,可以支持简化配置或者7段的cron配置。不支持毫秒级的调度。

2、使用示例

// 启用 Quartz 注解的任务
@EnableQuartz
public class JobApp {
    public static void main(String[] args) {
        Solon.start(JobApp.class, args);
    }
}

@Quartz(cron7x = "2s" ,name = "job1")
public class QuartzRun1 implements Runnable {
    @Override
    public void run() {
        System.out.println("我是 QuartzRun1 (2s)");
    }
}

@Quartz(cron7x = "0 0/1 * * * ? *")
public class QuartzRun2 implements Runnable {
    @Override
    public void run() {
        System.out.println("我是 QuartzRun2 (0 0/1 * * * ? *)");
    }
}

3、通过应用配置,可以控制有name的任务

# solon.quartz.{job name} #要控制的job需要设置name属性
#
solon.quartz.job1:
  cron7x: 10s  #重新定义时间表达式
  enable: true #用任务进行启停控制

4、cron7x 支持的表达式

  • 或cron:支持7位(秒,分,时,日期ofM,月,星期ofW,年)
    • 例:0 0/1 * * * ? *
  • 或简配: s,m,h,d
    • 例:2s