Timer e TimerTask

Olá galera,

Estou com uma dúvida até um pouco filosófica.

Tenho que criar um robo que dispara uns emails dia sim e dia não as 22 horas.

No script, fiz um timer que fica pingando de 1 em 1 minuto.

Timer t = new Timer( 60 * 1000 ) , action );

Depois fiz uma reloginho e verifico se hora é igual a 22 e se o dia é par(sei que não é a melhor maneira).

Gostaria de saber: Isso é viável? Utiliza muitos recursos?

Enfim, gostaria de sugestões sobre a melhor maneira de se implementar essa funcionalidade.

Alguem sabe se tem como agendar. Por exemplo a cada 48 horas?

Desde já, agradeço a colaboração.

Acredito que isso possa vir a se tornar 1 problema sim… Como ficaria por exemplo o tratamento no caso das mensagens não serem entregues ou como ficaria caso o horario e a periodicidade venha a ser mudada?

Para job scheduler ou eu usaria o agendamento nativo do sistema ( at ou cron) ou uma API ou framework para isso como Quartz.

Não sei ao certo a implicação de desempenho que isso virá a ter nem como o Quatz funciona internamente ( também nunca me ocorreu procurar :slight_smile: )… Posso dizer que já usei para multiplas tarefas e não tive problemas com consumo de recursos…

Ok, obrigado pela sugestão, vou tentar esse Quartz.

Mas não creio que seja necessário, a API do Java memso acho que já é suficiente.

Quanto aos problemas que você citou, são problemas de regra de negócio, e acho que não vou ter grandes problemas com isso.

Vou estudar um pouco mais desse Quartz e do Timer e caso chegue a uma solução viável, postarei aqui pra galera.