Estou com uma dúvida e acho que vcs Mestres e Gurus em Java podem me ajudar!!
Estou desenvolvendo uma aplicação Java (Servlets/JSP, 100% WEB) e a aplicação tem um recurso chamado de “Notificação de Atraso”. É apenas um aviso por e-mail que os usuários devem receber caso não completem suas tarefas num período determinado (n dias).
Como fazer, por exemplo, que uma classe Java procure por atrasos periodicamente? (Ex: uma vez ao dia, uma vez na semana, etc).
Sei que no SQL-Server é possível utilizar triggers, mas não é este o caso, pois gostaria de fazer essa funcionalidade em JAVA.
Têm como através do sistema operacional você schedular um programa bat. Portanto você poderia schedular um programa bat que executaria o seu programa Java. Exemplo de schedule:
at 04:00 /every:tuesday,thursday f:arqbat.cmd c:arqbat.cmd
Neste exemplo você estaria schedulando no Windows 2000 o arquivo arqbat.cmd para executar às 4:00 toda terça-feira e quinta-feira.
No seu arquivo bat você teria o comando para executar o seu programa Java que faria a varredura do que está em atraso.
No Unix você também pode fazer o schedule, se não me engano chama-se Crontab. Mas não sei como é feito o schedule.
Nos UNIX costuma ser o Cron mesmo, muito bom, aliás , e você pode fazer um programa Java [vc sabe, uma clase com main(String args[]) ] que se conecta ao servlet via http. Complicou, é? Bom, você pode fazer um programa que dê um hit num endereço tal, tipo http://www.minhapagina.com.br/avisarAtrasados, e dentro disto um servlet faz o trabalho que você precisa. Tenho uma aplicação assim em produção…
Mas caso seja hospedagem compartilhada, você pode ter problemas com isso. Talvez você possa criar uma thread em background para ficar fazendo o papel do agendador de tarefas, acho que o cv falou sobre isso há pouco temo, dá uma procurada por aí 8)
Alias, antes que esse papo de cron ou scheduler do windows continue, podem parar com a loucura, a menos que vcs ja tenham mantido um sistema que usasse isso e sobreviveram pra contar a historia
Como falei, cv, tenho algo assim rodando de 15 em 15 dias pra gerar um relatório. O que ele faz é dar um hit no servlet X, funciona direitinho e, tirando o cron, é todo Java
O negócio é que lá o servidor é dedicado e posso fazer a macumba que rpecisar nele…quando é hospedagem compartilhada, o bicho pega…