让我告诉你我做了什么。我正在运行无限循环来检查服务器时间。当凌晨3点时,我的if条件被满足,并且允许线程执行任务。 但是这种方法的问题是这个无限循环处于运行模式,该模式要求应用程序运行到第二天凌晨3点。是否有另一种方法可以每天3点启动此应用程序而无需这种冗余运行模式。
答案 0 :(得分:0)
您应该看看isocline的Clockwork,它是一个Java流程引擎。它比Quartz能够更有效地编码各种功能,并且具有特定的执行功能。
package isocline.clockwork.examples.basic;
import isocline.clockwork.*;
import isocline.clockwork.descriptor.CronDescriptor;
import org.junit.Test;
public class ClockRepeat implements Work {
public long execute(WorkEvent event) throws InterruptedException {
//TODO
return WAIT;
}
@Test
public void case1() throws Exception {
WorkProcessor processor = WorkProcessorFactory.getDefaultProcessor();
processor.createSchedule(new CronDescriptor("* 3 * * *"), this).activate();
processor.awaitShutdown();
}
}