Fila DLQ (Dead-Letter Queue)

O que acontece quando uma mensagem está não consegue ser entregue para uma fila?

Se o problema for causado por uma erro na aplicação que está tentando gravar, um erro irá ocorrer, incicando a falha.

Caso haja uma falha na rede, o aplicativo irá apresentar um erro de rede, indicando a possível falha.

Quando o falamos de Java, existe o Serviço de Mensagens Java (do Inglês JMS), que recebe/envia e processa as mensagens. Ele envia eventos quando uma mensagem chega ou é enviada. Ele persiste a mensagem e é capaz de perceber quando um erro ocorre.

Cada Middleware trata as mensagens de um modo. O Websphere, por padrão, tenta processar uma mensagem cinco vezes. Caso falhe, o Websphere irá enviar a mensagem para um destino padrão chamado SYSTEM Exception Destination (maiores detalhes sobre o que é um destino, veja a item Service Integration BUS).

Este conceito é chamado de DLQ (Dead-letter queues), ou seja, mensagens que não foram processadas são armazenadas automaticamente num lugar separado, para que sejam processadas em separado. Para que se entenda o motivo da falha.

Para enteder como configurar uma fila DLQ no Webspere acesse: Como configurar fila DLQ.