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 ?