Criando Agendamento no Java

Neste post será demonstrado como criar um agendamento com
as classes Timer e TimerTask.

Primeiro passo vamos implementar a tarefa que será executada
em um determinado tempo.

import java.util.TimerTask;

public class Agendamento extends TimerTask {
   // Método que será executado quando o agendamento, estiver pronto.
   public void run() {
      Mensagem.msg("Executando o agendamento ... - " + new Date());
   }
}

Poderiamos ter definido a tarefa na classe anterior, mas desta maneira
o programa seria de dificil manutenção, além de se tornar um código
totalmente procedural (estruturado).

Uma boa prática é você construir a classe de lógica separada,
assim você consegue deixar totalmente desacoplado da lógica
de agendamento.

public class Mensagem {
   /**
    * Método que imprime uma mensagem na console.
    *
    * @param value - Mensagem que será impresa no console
    */
    public static void msg(String value) {
       System.out.println(value);
    }
}

Após termos definido a nossa classe de lógica, que neste exemplo é
bem simples. Demonstraremos a classe principal que será responsável
em definir a hora que o agendamento deverá ser executado.

import java.util.Timer;

public class Principal {
    public static void main(String[] args) {
       Timer timer = new Timer();

       // Executa de 2 em 2 segundos
       timer.schedule(new Agendamento(), 0 , 2000);
    }
}

Como você pode perceber acima, o tempo e determinado em
milisegundos, na API existem outros métodos que podem ser
bastante utéis para outros tipo de aplicação.

Este foi apenas um exemplo simples do que é possível fazer
com o agendamento do Java, nos próximos post poderiamos
construir um exemplo mais prático destes conceitos apresentados.

Até a próxima

Deixe uma resposta