У меня есть приложение, которое проверяет веб-службы. И я хочу запускать это приложение каждый день в 18:00.
Интересно, можно ли сделать это автоматически?
* Для информации: это приложение разработано с Java, JUnit параметризованные тесты, maven..., ОС: Windows 7 *
Вы можете создать задачу расписания в окнах и задание cron в UNIX, чтобы запустить приложение, которое проверяет веб-службы.
Вы можете сделать что-то подобное
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int delay = hour < 18 ? 18-hour : 18- (hour-18);
System.out.println("Current Hour : "+hour+"\t"+"Delay For Next Mail: "+delay);
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("run invoked");
//do something
}
}, delay , 24, TimeUnit.HOURS);
Если сервер запущен и работает.
Сначала создайте экземпляр ScheduledExecutorService
который предоставляет метод
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit);
Соответственно рассчитывайте задержку, период и TimeUnit и выполняемую задачу