Protegendo um aplicativo MDB de problemas de recursos do sistema
É possível configurar o sistema para que, se existir um problema com um recurso do sistema externo dependente, o aplicativo corporativo será parado antes que as mensagens sejam movidas desnecessariamente para um destino da exceção. Esta configuração também manipula problemas ocasionais com as mensagens sem bloquear o aplicativo corporativo.
Antes de Iniciar
O destino no qual o MDB atende deve usar um destino de exceção. Este destino da exceção pode ser o padrão do sistema ou um configurado especificamente para o destino.
- O aplicativo corporativo que contém o MDB.
- Os recursos do sistema externo dependentes.
- Um valor aceitável para o Limite de mensagem com falha sequencial, ou seja, o número máximo de falhas seqüenciais de entrega de mensagens, após as quais o MDB é parado. Esta propriedade aplica-se aos conjuntos de mensagens.
- Um valor aceitável para o Atraso entre novas tentativas de mensagem com falha, ou seja, o tempo em milissegundos antes que uma mensagem de falha seja disponibilizada para ser entregue ao MDB. Outras mensagens podem ser entregues durante esse período, a não ser que o Limite de mensagem com falha sequencial e a simultaneidade máxima sejam configurados como 1.
- Um valor aceitável para o Máximo de entregas com falha por mensagem, ou seja, o número máximo de tentativas com falha para processar uma mensagem, após as quais a mensagem é redirecionada de seu destino planejado para o destino de exceção. Esta propriedade se aplica a mensagens individuais.
Sobre Esta Tarefa
- Tenta-se novamente um número finito de vezes e, se as mensagens com falha continuarem a falhar, são movidas para um destino da exceção permitindo que mensagens subsequentes sejam processadas.
- As mensagens com falha são tentadas novamente indefinidamente até que o problema seja corrigido.
A configuração (1) protege o MDB de uma mensagem de problema ocasional que evita que mensagens subsequentes sejam processadas. Entretanto, se houver um problema prolongado com um recurso do qual o aplicativo corporativo ou aplicativo em nível de negócios depende, por exemplo, um banco de dados, todas as mensagens enviadas ao destino poderão ser movidas para o destino da exceção.
A configuração (2) bloqueia a entrega de mensagens até que o problema de mensagem com falha original seja resolvido. Esta configuração evita que mensagens sejam movidas desnecessariamente para um destino da exceção, mas também bloqueia mensagens subsequentes assim que o processamento de uma única mensagem de problema falhar.
É possível configurar a especificação de ativação para um MDB, de forma que o terminal MDB seja parado automaticamente quando um número de falhas com mensagens sequenciais for detectado. Essas falhas indicam um problema com um recurso dependente. Quando o problema é resolvido, o terminal MDB é reiniciado manualmente. Esta configuração tolera falhas de mensagens ocasionais, permitindo que mensagens de problemas individuais sejam movidas para o destino de exceção sem bloquear o MDB inteiro.
Use as seguintes etapas para proteger um aplicativo corporativo contra falhas de recurso do sistema externo dependente.