quartz 设置了 cron 表达式,怎么得到这个任务会执行的次数

要得到 Quartz 中设置的 Cron 表达式的任务将会执行的次数,您可以使用 CronTrigger 类中的 getNextValidTimeAfter() 和 getFireTimeAfter() 方法来计算触发时间。以下是一个示例代码片段,它演示了如何使用 CronTrigger 类计算将要执行的任务次数:
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.impl.triggers
import org.quartz.impl.triggers

.CronTriggerImpl;
import java.text.ParseException;
import java.util.Date;

public class QuartzCronExpressionExample {

public static void main(String[] args) throws

ParseException {

    // 创建 CronTrigger 对象
    CronTriggerImpl trigger = new CronTriggerImpl();
    trigger.setCronExpression

(“0 0/5 * * * ?”); // 设置 Cron 表达式,每隔 5 分钟执行一次

    // 计算任务将会执行的次数
    CronExpression cronExpression = new CronExpression(trigger.getCronExpression());
    Date nextValidTime = cronExpression.getNextValidTimeAfter(new Date());
    Date endTime = new Date(nextValidTime.getTime() + (5 * 60 * 1000)); // 设置任务的结束时间,5 分钟后

    int count = 0;
    while (nextValidTime.before(endTime)) {
        System.out.println("Task will run at: " + nextValidTime);
        nextValidTime = cronExpression.getFireTimeAfter(nextValidTime);
        count++;
    }

    System.out.println

(“Task will run " + count + " times.”);
}
}

猜你喜欢

转载自blog.csdn.net/qq_34690003/article/details/131822983