Я бы, вероятно, реализовал это, используя TimerTask .Например,
int hour = 1000*60*60;
int delay = 0;
Timer t = new Timer();
t.scheduleAtFixedRate(new TimerTask() {
public void run() {
// Write to disk ...
}
}, delay, hour);
В противном случае кварт - это мощный планировщик Java, способный обрабатывать более сложные задачи планирования.