gpt4 book ai didi

java - Java 中是否有类似 cron 的 ScheduledExecutorService 实现?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:28 26 4
gpt4 key购买 nike

Java 中的 ScheduledExecutorService 对于以固定间隔或固定延迟重复任务非常方便。我想知道是否有类似于现有 ScheduledExecutorService 的东西允许您指定一天中的某个时间来安排任务,而不是一个时间间隔,即“我希望这个任务在每天上午 10 点触发”。

我知道您可以使用 Quartz 实现此目的,但我宁愿尽可能不使用该库(它是一个很棒的库,但出于某些原因我宁愿不依赖它)。

最佳答案

ThreadPoolTask​​Scheduler,可在不需要外部线程管理时使用。在内部,它委托(delegate)给 ScheduledExecutorService 实例。 ThreadPoolTask​​Scheduler 也实现了 Spring 的 TaskExecutor 接口(interface),因此单个实​​例可用于异步执行以及计划的和可能重复的执行。

CronTrigger() 在 cronExpression 中的位置 http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html

有关此解决方案的更多信息,请参阅 Spring 文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html

import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
import java.util.Date;

public class CronTriggerSpringTest{
public static void main(String args[]){
String cronExpression = "0/5 * * * * *";
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.initialize();
scheduler.schedule(new Runnable() {
@Override
public void run() {
System.out.println("Hello Date:"+new Date());
}
}, new CronTrigger(cronExpression));
}
}

关于java - Java 中是否有类似 cron 的 ScheduledExecutorService 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/469884/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com