Вызывать Java-программу через определенные промежутки времени - PullRequest
0 голосов
/ 02 апреля 2012

У меня есть программа, которая читает сообщения входящих из учетных записей электронной почты, поскольку в заголовке говорится, что я хотел бы запускать программу через каждые 1,5 часа.

Есть ли какой-либо уровень ОС (Windows и Linux) или уровень JVMрешение, которое поможет в выполнении задачи.Спасибо.

Ответы [ 3 ]

3 голосов
/ 02 апреля 2012

В Windows используйте команду at или «Запланированные задания», в Linux - cron.

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

1 голос
/ 02 апреля 2012

взято из javadoc из ScheduledExecutorService:

 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);
    }
 }
0 голосов
/ 02 апреля 2012

Создайте задание cron .

Введите crontab -e

и добавьте запись для своей команды.

...