我需要强制我的java应用程序在特定的日期和时间执行几个操作。方案如下:
1- user set a specific time and frequency (every day, every month)
2- system starts a trigger for the request
3- once that pre-defined frequency and time are reached
3.1 - system performs the required actions that are kept in a method
我发现这个answer但是无法使其发挥作用。
一个例子将不胜感激。
答案 0 :(得分:3)
有多个java调度程序框架可用于在指定的时间,间隔,周期性执行任务。 Apache quartz是常用的一种。
或只是使用java ScheduledExecutorService
答案 1 :(得分:2)
Quartz库对此非常有用。
如何使用Quartz:请参阅此http://www.mkyong.com/tutorials/quartz-scheduler-tutorial/
答案 2 :(得分:2)
你可以从jdk本身使用Executor,这里是开始的例子:
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
ScheduledFuture<?> handle scheduler.scheduleAtFixedRate(new Runnable() {
public void run() { System.out.println("your code is here :)"); }
}, 1, 100, TimeUnit.MINUT);
所以这段代码在1分钟后开始运行,并在每100分钟后运行。
要稍后取消,您需要执行handle.cancel(true)
从here
阅读