Вы можете использовать класс Timer и написать новый класс, расширяющий TimerTask. Реализация TimerTask будет вызываться таймером.
Вы можете настроить таймер на конкретную дату, когда она должна планировать задание.
timer.schedule(new Task(), new Date(2017,12,1);
Метод запуска(), если Task() теперь будет называться на первом из Dezmeber в 2017.
class Task extends TimerTask{
private Date nextRun;
public TimerTask(){
nextRun = Calendar.getInstance().add(Calendar.MONTH, 1);
}
@Override public void run(){
//Do your URL stuff here
Timer timer = new Timer();
timer.schedule(new Task(), nextRun);
}
}
Это создаст задачу для текущей даты + 1 мес. Когда задача запустится, она автоматически создаст новую задачу, которая будет работать через месяц.
Посмотрите на класс Executor в пакете параллелизма. – duffymo
Всегда ли работает приложение? Или вы хотите запустить Java-приложение? – Fildor
Как вы хотите вернуть ответ. вы можете использовать пакет ExecutorService java.util.concurrent, который возвращает объект Future – Barath