Você pode utilizar um framework completo para agendamento como o Quartz ou implementar a interface Callable (java.util.concurrent.Callable) e criar seu próprio Job.
(em inglês) Não sei porque, nunca encontro a documentação da api java em português…
Eu geralmente faço isso, uso o método schedule da classe Timer e extendo a classe TimerTask para fazer uma tarefa automática (sobrescreva o método run)
[]'s
[editando]Não tinha visto respostas acima ainda xD [/editando]
int delay = 10000;
int period = minutos * 60000;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// Chamada do meu metodo
}
}, delay, period);