Executar uma task em tempo determinado

Boa tarde,

ja vi diversos post sobre uma task executar em determinados horários, usando thread, usando ScheduledExecutorService,
mas gostaria de uma solução que não fosse thread, porque algumas vezes acontece de reiniciar o servidor e a thread para de funcionar e torna o processo de start manual.

Tem alguma forma de executar uma task sem ser por thread e que voce define apenas o horario de execução? Lembrando que mesmo que reinicie o servidor, a task voltará a executar automaticamente quando der o horario definido

valeu

Olha esse link