[RESOLVIDO] Não estou conseguindo inicializar tarefa agendada

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

´´´

@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");
}

}
´´´

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

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!