定期执行 java 程序

Executing java program periodically

我是编程菜鸟,只有Java的基本概念。对于一个学校项目,我需要一个解决方案来定期(假设每 6 小时一次)执行 Java 程序 (class) 并从中收集数据。 Java 程序是一个客户端,每 5 分钟收集一次服务器发布的消息。为了解决这个问题,我的第一个想法是 Thread()Runnable() 但就像我说的,我只有 Java 的基本概念而且我不知道该怎么做。解决方案也必须在 Java 中。如果有人有任何想法,我们将不胜感激,谢谢 PS 抱歉我的英语不好...

你有两个选择:

石英 CRONTRIGGER
检查 Quartz Scheduler 文档。 (在这里您可以找到触发模式文档

00:006:0012:0018:00 小时执行:

0 0 0/6/12/18 * * ?

每 5 分钟执行一次

0 0/5 * * * ?   

定时器
定义一个线程,每 x 次检查一次以启动进程:

int SIX_HOURS = 1000 * 60 * 60 * 6;
Timer timer = new Timer(); 
timer.schedule( new TimerTask() 
{ 
    public void run() { 
    // do your work 
    } 
}, 0, SIX_HOURS);

延迟队列
我没有使用 DelayQueue, but you can find OldCurmudgeon example , also Jenkov has a tutorial here, and you can find more examples here and here.

的经验