Scheduler com JMS

Oi galera,
Fiz meu primeiro MDB, com a ajuda de um amigo e do plugin JBoss-IDE.

Ele funciona legal, entra na fila, e é executado assíncronamente e se o server cair antes de processar tudo ele reprocessa a fila pendente.

Precisaremos aqui fazer também um agendamento (schedule) de alguns processamentos e eu preferí usar JMS / MDB para isso.

Sabem se o JBoss possui algo para agendar novas mensagens para a fila JMS?

Pensei em criar um programa Java fora do JBoss e chamar via o agendador do SO. Porém não faço idéia da classe que devo configurar no Initial Context.

Valeu.

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).

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.

Ou então, pode usar o Quartz:
http://www.opensymphony.com/quartz/

[]'s

Estamos usando JBoss 3. :cry:

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)

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.

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.

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.

É isso aí.
Valeu galera.