Exemplos Usando filas de Mensagens

Cuidados Iníciais

Descrição do Exemplo

Este exemplo ilustra um componente EJB, o stateful session bean EJbComp, que envia mensagens JMS para um Tópico JMS. O método sendMsg do EjbComp publica um mensagem para um Tópico.

O Cliente EJB, EjbCompClient, inicia um transação, chama o método sendMsg do EjbComp bean e eventualmente cria um entity bean Account (usado no exemplo ../eb) se este último tiver sido disponibilizado no servidor de EJB (isto não é obrigatório para a execução deste exemplo), então ele encerra a transação (através de commits ou aborts). Neste primeiro caso, a mensagem é enviada, e o entity bean é criado (isto é, um registro [222, "JMS Sample OK", 0] é criado na tabela accountsample), no segundo caso, a mensagem não é enviada, e o entity bean não é criado.

Um cliente JMS puro, MsgReceptor, recebe todas as mensagens enviadas para Tópico.

O processo de administração da fila de mensagens é em tempo de execução do Servidor JOnAS.

A propriedade jonas.service.jms.mom configurada para org.objectweb.jonas_jms.JmsAdminForJoram significa que nós desejamos usar objetos administrados pelo servidor. Um cliente JMS puro, MsgReceptor, recebe todas as mensagens enviadas para Tópico.

Execultando o exemplo

Compilando este exemplo

No MS-DOS faça:
  1. Mude para o diretório do exemplo (cd %JONAS_ROOT%\examples\src\jms)
  2. Dispare a ferramenta ANT para preparar o exemplo (ant -find build.xml install).
    Se ao final da execução do comando aparecer a mensagem BUILD SUCCESSFUL o exemplo foi compilado com sucesso e está pronto para uso no Servidor JOnAS.

Configuração do JOnAS

Se você deseja executar o exemplo usando o Entity bean Account (para ilustrar uma transação global levando em conta o envio de mensagens e escrita no banco de dados), você deve ter no seu arquivo jonas.properties:
jonas.service.ejb.descriptors jms.jar,eb.jar

Senão (para usar apenas JMS sem o banco de dados), seu arquivo jonas.properties deve ter somente: jonas.service.ejb.descriptors jms.jar

Voce pode usar o arquivo run.bat para executar o exemplo todo ou executar passo-a-passo.