HornetQ - 10.Reentrega de Mensagens e DLQ

7
Treinamento HornetQ

Transcript of HornetQ - 10.Reentrega de Mensagens e DLQ

Page 1: HornetQ - 10.Reentrega de Mensagens e DLQ

Treinamento HornetQ

Page 2: HornetQ - 10.Reentrega de Mensagens e DLQ

Agenda

• Reentrega e Não Entrega de Mensagens– Overview– Reentrega com Atraso– DLQ – Dead Letter Queue

Page 3: HornetQ - 10.Reentrega de Mensagens e DLQ

Reentrega e Não Entrega de Mensagens

• Overview– As vezes nem sempre é possível realizar a entrega

da mensagem ao destinatário, seja porque, ele está off-line ou porque ele gerou algum erro.

– O HornetQ suporta duas maneira para lidar com essa situação:• Reentrega com Atraso• Dead Letter Queue

Page 4: HornetQ - 10.Reentrega de Mensagens e DLQ

Reentrega e Não Entrega de Mensagens

• Reentrega com Atraso– Esse método é útil quando o cliente regularmente

falha ou por algum motiva desfaz uma transação (rollback).

– Essa configuração é importante, pois evita um consumo excessivo de CPU e recursos de rede, uma vez que o HornetQ só suspende as tentativas quando a mensagem é entregue ao destinatário.

Page 5: HornetQ - 10.Reentrega de Mensagens e DLQ

Reentrega e Não Entrega de Mensagens

• Reentrega com Atraso

Tempo em milissegundos para reentrega. Por padrão é

zero (0).

É possível definir uma fila ou um conjunto delas.

Page 6: HornetQ - 10.Reentrega de Mensagens e DLQ

Reentrega e Não Entrega de Mensagens

• DLQ – Dead Letter Queue– Para prevenir as infinitas tentativas de entregas de

mensagens em caso de falha. As DLQs podem ser configuradas nos addresses e limitar a quantidade de tentativas de entregas antes de serem movidas para a fila morta.

– Como as mensagens são desviadas para outras filas, o administrador pode utilizar a DLQ para investigação.

Page 7: HornetQ - 10.Reentrega de Mensagens e DLQ

Reentrega e Não Entrega de Mensagens

• DLQ – Dead Letter Queue

A DLQ é uma fila definida no hornetq-jms.xml

É possível definir uma fila ou um conjunto delas.

Quantidade de tentativas antes de mover para a DLQ.