Solon

cron4j-solon-plugin

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

1、描述

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

2、使用示例

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

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

@Cron4j(cron5x = "*/1 * * * *")
public class Cron4jRun2 implements Runnable {
    @Override
    public void run() {
        System.out.println("我是 Cron4jRun2 (*/1 * * * *)");
    }
}

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

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

4、cron5x 支持的表达式

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