[RESOLVIDO] Não estou conseguindo inicializar tarefa agendada

3 respostas
programaçãowebjava
J

Tenho uma aplicação rodando na web, e o meu servidor localhost está dando certo de colocar o horario e executar a ação… Quando inicializo ela no servidor do host do site não está funcionando pois o horário está americano.

@Override
public void contextInitialized(ServletContextEvent arg0) {
    
    System.out.println("==== SOFTWARE INICIALIZADO ====");
    
    timer = new Timer ();
    
    Calendar c = Calendar.getInstance();
    
    c.set(Calendar.HOUR, 14); 
    c.set(Calendar.MINUTE, 00);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0);
    
    Date horaAgendada = c.getTime();
    
    System.out.println(horaAgendada);
    
    long period = 86400000;
    
    dataAtual = Long.parseLong(sdfData.format(d));
    dataComecaEnviar = 20180614;
    
    timer.scheduleAtFixedRate(new TimerTask() {
        public void run() {
            d = new Date();
            if ((sdfHora.format(d).equals("1600")) && (dataAtual >= dataComecaEnviar)){
                enviaClassificacaoGeral();
            }
        }
    }, horaAgendada, period);
}

Alguém tem uma ideia diferente desta que talvez funcione ?

image

3 Respostas

ardenghe

´´´

@Singleton
public class ScheduleService {

@Schedule(hour="10", minute="19", dayOfMonth="*", month="*", year="*", info="MyTimer")
private void scheduledTimeout(final Timer t) {
    System.out.println("teste schedule");
}

}
´´´

J

Minha aplicação está rodando em tomcat será que vai rodar normal essa classe ?

J

A variável dataComecaEnviar estava com uma data muito pra frente, ai não funciona mesmo!
E a hora da condição era diferente da hora que foi determinada no calendar!

Criado 26 de abril de 2018
Ultima resposta 26 de abr. de 2018
Respostas 3
Participantes 2