Nesse poste vou continuar o assunto JMS, mas agora como configurar uma Bridge no JBoss. No poste http://ricardobocchi.blogspot.com.br/2013/04/jms-bridge.html eu mostrei como configurar uma Bridge JMS no glassfish, com toda sua simplicidade de configuração. Também expliquei alguns conceitos sobre JMS e JMS Bridge, então nesse post, somente escreverei sobre a configuração no JBoss.
A verdade é que tive bastante dificuldade em implementar no JBoss aquela mesma estrutura que fiz no glassfish, pois a versão corrente JBoss As 7.1.1 não tem implementação integrada de Bridge, com isso ela deve ser configurada diretamente no HornetQ, que é o servidor JMS embutido no JBoss. Mas o problema é que a documentação de como integrar tudo, de modo que funcione, na minha opinião, é bem incompleta. Por exemplo, para mim que nunca tinha usado o JBoss ficou meio que inviavel descobrir onde colocar os arquivos do HornetQ de modo que ao subir o JBoss, ele reconhece as configurações de Bridge. Eu queria que a estrutura fosse bem simples, usando o servidor JMS embutido, e não ter que subir um servidor JMS para depois subir um JBoss e fazer a integração. Bom, depois de muito apanhar e não sair do chão com a bendita Bridge, eu descobri do detalhe da não implementação através do JBoss, e descobri que para a nova versão a funcionalidade estaria presente. Com isso, baixei a versão de desenvolvimento do JBoss, compilei e ai sim a configuração de Bridge ficou fácil. Dito isso, vou apenas postar as configurações usadas.
A versão do JBoss usada foi: jboss-as-8.0.0.Alpha1-SNAPSHOT
Abra o arquivo
jboss-as-8.0.0.Alpha1-SNAPSHOT\standalone\configuration\standalone.xml
Primeiramente, para habilitar JMS no JBoss, temos que adicionar a extenção do subsystem dentro da tag <extensions>:
Agora vamos adocionar o sub sistema de mensageria dentro da tag <profile>:
true 102400 2 jms.queue.DLQ jms.queue.ExpiryQueue 0 10485760 BLOCK 10 replicador replicador123* replicador replicador123* AT_MOST_ONCE 500 1 500 500 true replicador replicador123* replicador replicador123* AT_MOST_ONCE 500 1 500 500 true
Com essa configuração foram criados dois topicos: Um para enviar mensagens ao outro servidor, e um para receber mensagens do outro servidor. Em source, vocês devem mudar o ip remoto para suas configurações de teste.
Não vou explicar os detalhes da criação das filas, pois basta procurar nos links abaixo, e se você tem noção do que é uma fila, olhando as tags você consegue se achar:
JMS JBoss Documentação
Artigo que explica como configurar filas e tópicos de forma detalhada
JMS Bridge JBoss
Um detalhe importânte, é que devemos criar os usuários no JBoss para acessarmos as filas remotamente via Bridge. Na pasta bin do JBoss, temos o utilitário add-user, onde você cria usuários para gerenciamento do appserver e também os usuários que podem ter acesso as aplicações remotamente via lookup. Nessa configuração que fiz, tenho o usuário replicador com senha replicador123, que faz parte do grupo guest.
Ah, também nessa versão do JBoss, temos que configurar um módulo:
Esse módulo, fica em
jboss-as-8.0.0.Alpha1-SNAPSHOT\modules\system\layers\base\br\com\mobilemind\main\module.xml
Pelo que parece, esse módulo precisa ser configurado para que a Bridge funciono. Falo isso, por que a versão ainda está em desenvolvimento, então alguma coisa ainda pode mudar.
Bom, era isso.. depois de apanhar um pouco, venho aqui e compartilho o que conseguie para que talvez alguém possa poupar seu tempo de error idiotas.
Por hora é só, qualquer dúvida é só postar! abrass
Nenhum comentário:
Postar um comentário