Timer EJB 3 é confiável

Boa noite, estou desenvolvendo uma aplicação usando glassfish 3 e ejb 3, e preciso rodar uma rotina de faturamento automático todos os dias no mesmo horário e como é uma funcionalidade importante não pode deixar de rodar e gostaria de saber se o timer do ejb é confiável ou se é melhor rodar a rotina direto pelo banco de dados, se não for qual é a melhor opção segura a falhas.
T+

Já ouviu falar de redundância?
Operações críticas exigem que exista um mecanismo principal e um alternativo, caso o principal falhe.
Portanto, se você acha que o @Timer pode não funcionar, faça com que o banco possa executar essa rotina, independente da aplicação.
Mas, lembre-se, o sgbd também pode falhar.

Qual sistema fica mais tempo no ar (descontando o período de manutenção periódica), o banco ou o Glassfish?
Se o banco não sai do ar nunca, ponha essa funcionalidade no banco.
Se o Glassfish é que não sai do ar de jeito nenhum, pode deixar no Glassfish.

Pq nao usa um Quartz da vida?

Bom que fica configuravel sem precisar dar redeploy caso precise alterar a frequencia, ou caso apareca mais servicos…

Valeu galera, vou verificar qual serviço é mais confiável e vou dar uma olhada no quartz.

se sua preocupação é essa eu deixaria uma aplicação como serviço do sistema operacional para fazer isso todo dia, daemon do linux se for o caso… mesmo que ambos estejam parados, só do pc estar la ligado funcionando vai rodar e você também vai ter mais facilidade de replicação (você não precisa de um código pl sql na triger e outro java na aplicação, faz só um java e se quiser colocar em 2 servidores ou 3 pode fazer numa boa com o mesmo código).

ja fiz anteriormente em ambiente windows e não tive problemas.

  1. Timer EJB é uma especificação…ou seja é apenas a regra.
  2. Sim é confiavel sim.
  3. Talvez a implementação usada possa não ser…dai vc tem levantar informações com seu provedore de container EJB. Normalmente todos são…por exemplo JBOSS usa Quartz…como implementação. e por ai vai…
  4. Usar dentro do banco é opção tb…mas tome cuidado com as pros - http://fernandofranzini.wordpress.com/2012/07/23/regras-dentro-do-banco-de-dados/

Boa tarde, achei interessante essa abordagem do maior_abandonado, só me corrige se eu estiver errado, eu crio uma aplicação independente do sistema somente para fazer rodar o faturamento ou a funcionalidade que preciso, por exemplo gerar um .jar e colocar como serviço do línux? E o daemon funciona como o serviço do windows?

T+.

Se você optar por rodar seu aplicativo como um Daemon(linux) ou Service(windows), eu faço isso utilizando o Java Service Wrapper. Eu possuo varias aplicações rodando com ele.
Vale a pena dar uma olhada :wink:

http://wrapper.tanukisoftware.com/doc/english/download.jsp