Java Message Service - 1 de 3
Autor: Pedro Cacique | Publicado: 2014-10-18T17:06:00-07:00


Olá pessoas,



Hoje quero falar um pouco sobre um tópico de minhas aulas, o JMS. Trata-se de uma tecnologia que permite a comunicação entre duas ou mais aplicações em java. A sigla significa Java Message Service. O interessante é que essa troca de mensagens pode ser feita de forma assíncrona, isto é, não é preciso que o receptor esteja online enquanto o produtor cria e envia a mensagem.



O envio pode ser feito de duas formas:



Queue - Fila de mensagens - Point-to-Point

É quando a mensagem é enviada diretamente entre uma aplicação e outra.




Topic - Publish/Subscribe - Pub/Sub

Um produtor envia a mensagem, que pode ser lida por qualquer consumidor do serviço.




Como vantagens deste serviço em relação aos middlewares síncronos (como o EJB, por exemplo), pode-se dizer que o JMS gera um baixo acoplamento, pois as aplicações não precisam estar conectadas e não é necessário que o consumidor da mensagem esteja online enquanto o produtor a envia.



As aplicações com JMS facilitam a alta concorrência, tolerância a falhas, escalabilidade e balanceamento da carga. Isso sem falar na facilidade de monitoração e na interoperabilidade com webservices.



Mas vamos por a mão na massa para deixar as coisas mais interessantes. Vamos desenvolver um projeto Java/Web no Netbeans que fará o papel do produtor e do receptor, apenas a título de estudos.


Configurando o servidor


Antes de começar a programação em si, é necessário configurar o nosso servidor. Neste caso, usaremos o Glasfish. É necessário criarmos duas conexões para o serviço. A primeira delas é o Destino do Recurso. No Netbeans, abra a aba&nbsp;Servers&nbsp;e inicie o Glasfish. Uma vez iniciado, clique com o botão direito nele e selecione&nbsp;View Domain Admin Console&nbsp;para abrir o administrador web do servidor.&nbsp;







O administrador web do servidor te permite configurar as opções de seus recursos de uma maneira mais intuitiva.









No menu lateral esquerdo, selecione a opção&nbsp;JMS Resourses&nbsp;para criarmos o Destino de Recurso.&nbsp;







Clique então em&nbsp;Destination Resources&nbsp;e depois em&nbsp;New, para configuramos as nossas opções. Para este exemplo, vamos fazer uma troca de mensagens simples.&nbsp;







Estamos configurando o nome de domínio como jms/cacique. Este nome pode seguir qualquer padrão, mas colocamos assim para utilizarmos as configurações de projeto automáticas do Netbeans. O nome físico de destino segue o padrão acima. Certifique-se de que o tipo de recurso é o Queue para o nosso projeto, mas você pode trocá-lo para Topic caso queira. Coloque, por fim, uma descrição do serviço, para que veja sempre que preciso.



O próximo passo é criar a fábrica de conexões, que será uma Pool. No menu esquerdo, clique em&nbsp;Connection Factories&nbsp;e novamente em&nbsp;new.









Novamente o padrão do nome pode ser usado com o nome do destino com a terminação Factory, para melhor aproveitamento dos atalhos no Netbeans.

Selecione o tipo como TopicConnectionFactory e configure as opções de Pool como preferir. Neste exemplo, estamos deixando as configurações padrões.



Java Message Service - 1 de 3

Java Message Service - 2 de 3

Java Message Service - 3 de 3




by Pedro Cacique&nbsp;Google