Como posso fazer para que um método java execute em determinado horário???
T++
Como posso fazer para que um método java execute em determinado horário???
T++
Poderia usar o cron sim ou o esquema de agendar tarefa no windows, mais queria que a própria aplicação fizesse isso…
Alguem tem alguma sugestão???
Fico no aguardo…
Faça uma thread de baixa prioridade que irá verificar o horário a cada minuto. Quando o horário for igual ao que você quer, a thread é executada.
Ex.:
 @Override
    public void run() {
        
        while (true) {
            try {
                     if (horarioDaMaquina == seuHorario)
                     {
                          //faz algo
                      }
                   Thread.sleep(60000); // 1 minuto
                
            } catch (InterruptedException e) {
            }
        }
    }Dai, você cria uma instancia dessa classe que tem a thread :
SuaClasseComThread x = new SuaClasseComThread();
x.setPriority(Thread.MIN_PRIORITY);Espero ter ajudado
Estude a classe TimerTask.
Em cima do post que finotti passou, fiz o seguinte:
public static final long TEMPO = (1000 * 60); // atualiza o site a cada 1 minuto
        //****INICIA A TAREFA ELE VERIFICA A CADA UM MINUTO****//
        System.out.println("inicio");  
         Timer timer = null;  
         if (timer == null) {  
             timer = new Timer();  
             TimerTask tarefa = new TimerTask() {  
                 public void run() {  
                     try {  
                         System.out.println("Teste Agendador");  
                        //chamar metodo  
                     } catch (Exception e) {  
                         e.printStackTrace();  
                     }  
                 }  
             };  
             timer.scheduleAtFixedRate(tarefa, TEMPO, TEMPO);  
         }
E deu certo, valeu pessoal.