Schedule/Timer – Agendar tarefas com Java

Estou postando esse código pois considero bem importante, ele pode ser usado quando precisamos executar determinadas tarefas com hora marcada ou em períodos pré-determinados .

[code language="java"]import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;

    /**
     * Classe para manipular a execução de tarefas agendadas automaticamentes
     * @author Jean C Becker
     * @version 1.0
     */
public class GerarTarefasAgendadas {

    Timer timer;
    /**
     * Método para iniciar a execução das tarefas.
     */
    public void iniciar() {

        timer = new Timer();
        //Executa tarefa a cada 24 horas a partir da primeira
        //       timer.schedule(new tarefasDiarias(),
        //        0,
        //        1 * 1000 * 60 * 60 * 24);

        //Executa tarefa todo dia as 6 da manha
		Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 6);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        Date time = calendar.getTime();
        timer.schedule(new tarefasDiarias(), time);
    }
    /**
     * Método para interromper a execução das tarefas.
     */
    public void parar() {
        timer.cancel();
    }
    /**
     * Método que contém as tarefas agendadas que serão executadas.
     */
    class tarefasDiarias extends TimerTask {

        public void run() {
            //Aqui ficam as tarefas que vão ser executadas...
        }
    }
}[/code]

5 comentários em “Schedule/Timer – Agendar tarefas com Java

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.