Nossa … que solução estranha… Vc que usar um sistema de mensagens assíncronas para fazer processamento agendados (!?)
Bom, no livro de ejb cookbook tem uma receita para fazer ejb responderem a eventos de tempo (ou seja, agendá-los).
Dá uma olhada neste esquema de agendamento com ejb. (Vantagem: você não terá uma peça solta, fora do seu servidor de aplicação para inicializar , configurar, etc).
caiofilipini
Para fazer o scheduler, se você puder usar o JBoss 4.0, ele já possui implementação para o novo tipo de EJB, o TimerService.
Daniel, procure na documentação do JBoss por “org.jboss.varia.scheduler.Scheduler” (sei que está disponível na 3.2.1, mas não sei se está na sua versão. O JBoss mudou muito da 3.0 para a 3.2).
Não tenho aqui a documentação do JBoss (bom, preciso comprar uma cópia…) por isso é que não copio aqui os detalhes.
Basicamente você precisa mexer no seu jboss-service.xml para configurar a periodicidade e outros parâmetros, e criar uma classe que implementa org.jboss.varia.scheduler.Schedulable.
HTH (hope that helps)
danieldestro
JBoss 3.0.3.
Mas acho que vamos acabar utilizando uma app standalone em Java, chamado por um scheduler mesmo. Meio que imposição do pessoal aqui.
T
thingol
Bom, parece que na 3.0.7 também existe esse org.jboss.varia.scheduler.Scheduler. Então deve dar para usar o Scheduler do JBoss sem problemas.
danieldestro
Num outro post eu já conseguí resolver meu problema de como chamar um EJB de fora do JBoss.
Eu, na verdade, vou invocar um EJB e ele se preocupa em trabalhar com a fila JMS.
Até criei umas classes e interfaces que fazem a chamada ao EJB, para o cliente só usar a interface trivial.