Executar um método de minuto em minuto

Fala pessoal,

como faço para executar um método de minuto em minuto, ou segundo em segundo, ou qualquer intervalo de tempo ?

Qual é a melhor forma de se fazer isso ?

[]'s a todos,
Rafael March.

Use o Quartz www.opensymphony.com/quartz/

Use o Quartz http://www.opensymphony.com/quartz/

Caramba,

eu tenho mesmo que usar uma biblioteca externa ? Não há uma forma de fazer isso só com a API do JSE não ?

[]'s a todos,
Rafael M.

Você também pode utilizar threads e controlar o tempo de execução, lembrando que é muito difícil que seja “exatamente” 1 minuto. Mas desconsiderando milisegundos, e com uma certa tolerância, conseguimos trabalhar com bastante precisão com as Threads.

Outra sugestão: TimerTasks… há alguns exemplos em:

http://exampledepot.com/egs/java.util/ScheduleRepeat.html
http://www.javapractices.com/topic/TopicAction.do?Id=54

Abraços :slight_smile:

Não sei se é isso que você quer, mas tem um exemplo

package Time;

import java.util.Timer;
import java.util.TimerTask;

public class Main {

	public static void main(String[] args) {
		
		final long time = 1000; // a cada X ms
		Timer timer = new Timer();
		TimerTask tarefa = new TimerTask() {
			public void run() {
                               //método
				try {
					System.out.println("teste");
				} catch (Exception e) {
					e.printStackTrace();
				}

			}
		};
		timer.scheduleAtFixedRate(tarefa, time, time);
	}
}

Opa !

Era exatamente isso que eu procurava ! Valeu, pessoal!

[]'s a todos,
Rafael M.