Disparar uma Ação a cada 1 Hora

2 respostas
guilhermevh

Pessoal,

aqui na empresa criamos um sistema de envio de email em java para disparar relatórios dos banco de dados. Mas precisamos que está ação seja disparada automaticamente a cada 1 hora, criamos um .jar e agendamos no “Tarefas Agentadas”, mas isso é não uma coisa boa né. Ai estamos criando um timer, mas quando criamos esse timer, ele fica muito carregado e acumulando memória. Vocês poderia me ajudar com isso?!?!

Usei o seguinte código para criar o timer, mas não muito funcional…ele sobrecarrega muito…
Alguma idéia?

public class TimerJava {
    Timer timer;

    public TimerJava(int seconds) {
        timer = new Timer();
        timer.schedule(new RemindTask(), seconds*1000);
    }

    class RemindTask extends TimerTask {
        @Override
        public void run() {
            
                System.out.println("Gera o Relatorio aqui (chama a função de disparo de emails");
                new TimerJava(3600);
             }
    }

    public static void main(String args[]) {
        new TimerJava(1);
        System.out.println("Iniciando...");
    }
}

Obrigado…

2 Respostas

rodrigo_corinthians

Que tal usar o Quartz ?

guilhermevh

vle…estou dando uma olhada!

Criado 7 de janeiro de 2008
Ultima resposta 7 de jan. de 2008
Respostas 2
Participantes 2