Как запланировать выполнение java-программы?

54
5

Я использую java-программу, которую я использую для запуска некоторых инструментов (logstash, filebeat, mongodb). Мне нужно запланировать инструменты, чтобы они запускались один за другим с помощью java-программы. Итак, как я могу выполнить такую задачу? Каков наилучший способ запланировать выполнение такой Java-программы?

спросил(а) 2017-05-09T07:18:00+03:00 3 года, 1 месяц назад
1
Решение
122

Если вы используете Windows, вы можете использовать Планировщик задач Windows.

http://www.digitalcitizen.life/how-create-task-basic-task-wizard?utm_source=7tutorials.com&utm_medium=redirect&utm_campaign=7_Tutorials_Redirect

Если вы используете аромат Linux, вы можете использовать cron чтобы сделать то же самое.

https://help.ubuntu.com/community/CronHowto

Просто создайте пакетный файл, который оборачивается и вызывает вашу Java-программу. Вы можете передать параметры командной строки на основе того, что еще вы хотите запустить (logstash, filebeat, mongodb и т.д.).

ответил(а) 2017-05-09T07:31:00+03:00 3 года, 1 месяц назад
39

Вы можете использовать ScheduledExecutorService, предоставляемый Java

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

Если вы используете весну, это намного проще, используя @Scheduled

ответил(а) 2017-05-09T07:34:00+03:00 3 года, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема