以特定间隔调用java程序

时间:2012-04-02 08:07:49

标签: java operating-system scheduling scheduled-tasks

我有一个程序可以从电子邮件帐户中读取收件箱邮件,因为标题显示我希望每隔1.5小时运行一次该程序。

是否有任何操作系统(Windows和Linux)级别或JVM级别的解决方案可以帮助您执行任务。 感谢。

3 个答案:

答案 0 :(得分:3)

在Windows上使用at命令或“预定作业”,在Linux上使用cron作业。

http://support.microsoft.com/kb/313565
http://en.wikipedia.org/wiki/Cron

答案 1 :(得分:1)

取自ScheduledExecutorService的{​​{3}}:

 import static java.util.concurrent.TimeUnit.*;
 class BeeperControl {
    private final ScheduledExecutorService scheduler =
       Executors.newScheduledThreadPool(1);

    public void beepForAnHour() {
        final Runnable beeper = new Runnable() {
                public void run() { System.out.println("beep"); }
            };
        final ScheduledFuture<?> beeperHandle =
            scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
        scheduler.schedule(new Runnable() {
                public void run() { beeperHandle.cancel(true); }
            }, 60 * 60, SECONDS);
    }
 }

答案 2 :(得分:0)

创建cron job

输入crontab -e

并为您的命令添加一个条目。