以特定时间间隔执行任务

时间:2015-12-14 09:23:10

标签: java multithreading spring java-ee executorservice

我想在java中安排一项每2分钟运行一次的任务。即使先前的任务尚未完成,任务也应该每2分钟运行一次。 (即,与先前不完整的任务并行执行的下一个任务。) 有没有办法在java或春天这样做?

2 个答案:

答案 0 :(得分:0)

您可以使用Quartz Scheduler。它允许您根据CRON表达式安排任务以一定间隔(以毫秒为单位)或在预定义的日期和时间(根据指定的时间)运行。

您可以在此处找到相关文档: https://quartz-scheduler.org/documentation

如果Quartz不是一个选项,那么在“Java中的开源作业调度程序”上的java-source.net上有一个长而全面的备选列表:

http://java-source.net/open-source/job-schedulers

答案 1 :(得分:0)

听起来像是在寻找ScheduledExecutorService

  

ExecutorService,可以安排命令在给定延迟后运行,或定期执行。

     

计划方法创建具有各种延迟的任务,并返回可用于取消或检查执行的任务对象。 scheduleAtFixedRate 和scheduleWithFixedDelay方法创建并执行定期运行的任务,直到被取消。