Treinamento HornetQ
Agenda
• Divert e Splitting de Mensagem
– Overview
– Configuração
Divert e Splitting de Mensagem
• Overview
– Diverts são mecanismos que permite o roteamento de
mensagens de uma fila para outra sem que haja
mudanças na lógica das aplicações cliente.
– Os diverts são classificados em dois tipos:
• Exclusivo
– As mensagens são “movidas” para uma outra fila ou
tópico.

• Não Exclusivo
– Uma cópia de cada mensagem é feita em uma outra fila
ou tópico e a original é mantida na fila.
Divert e Splitting de Mensagem
• Overview
– Diverts são aplicados a filas ou tópicos que estão no
mesmo servidor.
– Caso haja a necessidade de encaminhar uma mensagem a
uma fila em outro servidor, será necessário utilizar a
técnica de bridge.
– Os diverts suportam um parâmetro opcional de filtro, onde
apenas as mensagens que coincidirem serão desviadas.
– Diverts e Bridge são conceitos sofisticados que quando
combinados podem ser utilizados para criação de
estruturas complexas de roteamento entre servidores
geograficamente distribuídos.
Divert e Splitting de Mensagem
• Configuração
– A configuração do Divert consiste em:
• hornetq-configuration.xml
– Configuração dos parâmetros referente aos diverts.

• hornetq-jms.xml
– Criação das fila ou tópicos utilizados pelos diverts.
Divert e Splitting de Mensagem
• Configuração
– hornetq-configuration.xml

Nome único do divert
dentro do arquivo.

Fila de entrada.

Se true é
exclusivo, do
contrário não
exclusivo.

Parâmetro de
filtragem das
mensagens.

Fila ou Tópico para
onde a mensagem
será roteada.

Os parâmetros utilizados nos filtro são de responsabilidade das aplicações e ficam contidos
dentro das propriedades da mensagem.
Divert e Splitting de Mensagem
• Configuração
– hornetq-configuration.xml

Fila onde será
recebida todas as
mensagens.

Fila para onde será
roteada as mensagens
do filtro
“destino=‘tim’”

Fila para onde será
roteada as mensagens
do filtro
“destino=‘carsystem’”
Divert e Splitting de Mensagem
• Configuração
– Exemplo do código na aplicação cliente

Nome da
propriedade

Valor da propriedade

HornetQ - 16.Divert e Splitting de Mensagem

  • 1.
  • 2.
    Agenda • Divert eSplitting de Mensagem – Overview – Configuração
  • 3.
    Divert e Splittingde Mensagem • Overview – Diverts são mecanismos que permite o roteamento de mensagens de uma fila para outra sem que haja mudanças na lógica das aplicações cliente. – Os diverts são classificados em dois tipos: • Exclusivo – As mensagens são “movidas” para uma outra fila ou tópico. • Não Exclusivo – Uma cópia de cada mensagem é feita em uma outra fila ou tópico e a original é mantida na fila.
  • 4.
    Divert e Splittingde Mensagem • Overview – Diverts são aplicados a filas ou tópicos que estão no mesmo servidor. – Caso haja a necessidade de encaminhar uma mensagem a uma fila em outro servidor, será necessário utilizar a técnica de bridge. – Os diverts suportam um parâmetro opcional de filtro, onde apenas as mensagens que coincidirem serão desviadas. – Diverts e Bridge são conceitos sofisticados que quando combinados podem ser utilizados para criação de estruturas complexas de roteamento entre servidores geograficamente distribuídos.
  • 5.
    Divert e Splittingde Mensagem • Configuração – A configuração do Divert consiste em: • hornetq-configuration.xml – Configuração dos parâmetros referente aos diverts. • hornetq-jms.xml – Criação das fila ou tópicos utilizados pelos diverts.
  • 6.
    Divert e Splittingde Mensagem • Configuração – hornetq-configuration.xml Nome único do divert dentro do arquivo. Fila de entrada. Se true é exclusivo, do contrário não exclusivo. Parâmetro de filtragem das mensagens. Fila ou Tópico para onde a mensagem será roteada. Os parâmetros utilizados nos filtro são de responsabilidade das aplicações e ficam contidos dentro das propriedades da mensagem.
  • 7.
    Divert e Splittingde Mensagem • Configuração – hornetq-configuration.xml Fila onde será recebida todas as mensagens. Fila para onde será roteada as mensagens do filtro “destino=‘tim’” Fila para onde será roteada as mensagens do filtro “destino=‘carsystem’”
  • 8.
    Divert e Splittingde Mensagem • Configuração – Exemplo do código na aplicação cliente Nome da propriedade Valor da propriedade