总结:Java调度器cron4j

文章介绍了cron4j,一个轻量级的Java任务调度工具,其cron表达式的使用规则,包括分、时、天、月、周的设定,以及特殊字符的使用方法。并提供了简单的代码示例来展示如何引入和使用cron4j进行任务调度。
摘要由CSDN通过智能技术生成

一、背景

由于hubble-job使用的调度器是java调度器cron4j,所以想梳理下这块东西,记录下备忘。

二、介绍

cron4j是一个轻量级的Java任务调度工具。

三、调度规则

cron4j的cron表达式最多只允许5个部分,每个部分用空格分隔开,从左至右分别表示“分”、“时”、“天”、“月”、“周”,具体规则如下:

* * * * * , 从左至右:

• 分:取值从 0 到 59
• 时:取值从 0 到 23
• 天:取值从 1 到 31,字母 L 可用于表示月的最后一天
• 月:取值从 1 到 12,可以用别名表示:jan、feb、mar、apr、may、jun、jul、aug、sep、oct、nov、dec
• 周:取值从 0 到 6,0表示周日,6表示周六,可以用别名表示:sun、mon、tue、wed、thu、fri、sat
    如:每周三11点执行:0 11 * * 3
• 以上5个部分的分、时、天、月、周又分别支持如下字符:
• 数字 n :表示一个具体的时间点,例如 5 * * * * 表示 5 分这个时间点时执行
• 逗号 , :表示指定多个数值,例如 3,5 * * * * 表示 3 和 5 分这两个时间点执行
• 减号 - :表示范围,例如 1-3 * * * * 表示 1 分、2 分再到 3 分这三个时间点执行
• 星号 * :表示每一个时间点,例如 * * * * * 表示每分钟执行
• 除号 / :表示指定一个值的增加幅度。例如 */5表示每隔5分钟执行一次(序列:0:00, 0:05, 0:10, 0:15 等等)

四、使用方式

引入包

<dependency>
    <groupId>it.sauronsoftware.cron4j</groupId>
    <artifactId>cron4j</artifactId>
    <version>2.2.5</version>
</dependency>

demo:

public class Quickstart {
    public static void main(String[] args) {
        Scheduler scheduler = new Scheduler();
        scheduler.schedule("* * * * *", new Runnable() {
            @Override
            public void run() {
                System.out.println("Every Minute Run.");
            }
        });
        scheduler.start();
        try {
            Thread.sleep(1000L * 60L * 10L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        scheduler.stop();
    }
}

进程调度:

public class ProcessJob {
    public static void main(String[] args) {
        ProcessTask task = new ProcessTask("C:\\Windows\\System32\\notepad.exe");
        Scheduler scheduler = new Scheduler();
        scheduler.schedule("* * * * *", task);
        scheduler.start();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值