Às vezes, ocorrerá um problema em um fluxo de mensagens que foi executado
com êxito anteriormente. Para identificar a causa do problema, faça a si mesmo as seguintes perguntas:
- Você fez alguma alteração ao fluxo de mensagens desde a
última vez que ele foi executado com êxito?
Caso tenha feito, é possível que o erro esteja em algum lugar na parte nova ou modificada
do fluxo. Examine as alterações e veja se pode encontrar uma razão
óbvia para o problema.
- Você utilizou totalmente todas as funções do fluxo de mensagens anteriormente?
O problema ocorreu quando você utilizou parte do fluxo de mensagens que
nunca havia sido chamado antes? Caso este seja o caso, é possível que o erro
esteja nessa parte. Tente descobrir o que o fluxo de mensagens estava fazendo quando falhou ao
fazer isso; utilize rastreio do usuário, nós de
rastreio e a função do depurador do workbench
(consulte Depuração um Fluxo de Mensagens).
Se você executou um fluxo de mensagens com êxito
em várias ocasiões anteriores, verifique o status da fila atual e os arquivos que estavam
sendo processados quando o erro ocorreu. É possível que eles
contenham algum valor de dados incomum que chama um caminho raramente
utilizado no fluxo de mensagens.
- O fluxo de mensagens verifica todos os códigos de
retorno?
Poderia ser o caso do sistema ter sido alterado, talvez de uma maneira secundária,
mas o fluxo de mensagens não verifica os códigos de retorno que recebe como resultado
da alteração? Por exemplo:
- O fluxo de mensagens supõe que as filas que ele acessa possam ser compartilhadas?
Se uma fila tiver sido redefinida como exclusiva, o fluxo de mensagens pode lidar com
códigos de retorno indicando que ele não pode mais acessar essa fila?
- Algum perfil de segurança foi alterado? Um fluxo de mensagens poderia falhar devido a
uma violação de segurança.
- O fluxo de mensagens espera determinados formatos de
mensagem?
Se uma mensagem com um formato de mensagem inesperado tiver sido colocada em uma fila
(por exemplo, uma mensagem de um gerenciador de filas em uma plataforma diferente) ela pode
exigir conversão dos dados ou uma forma diferente de processamento. Verifique também se
você alterou algum formato da mensagem utilizado.
- O fluxo de mensagens é executado em outros sistemas
WebSphere Message Broker?
Alguma coisa está diferente na maneira como o sistema está configurado que esteja causando o problema? Por exemplo, as filas foram definidas com o
mesmo comprimento máximo de mensagem ou prioridade? Existem diferenças nos bancos de dados
utilizados ou em sua configuração?
Se um fluxo de mensagens não tiver sido executado com êxito antes, examine cuidadosamente seu fluxo de mensagens para verificar se é possível localizar
o seguinte erros:
- Você está utilizando alguma extensão definida pelo
usuário?
Podem existir problemas de conversão ou de compilação
com arquivos LIL (Loadable Implementation Library). Antes de examinar o código,
examine a saída do conversor, compilador ou assembler e o editor linkage, para ver se algum erro foi relatado.
Corrija os erros para que a extensão definida pelo usuário funcione.
Se a documentação mostrar
que cada uma dessas etapas foi concluída sem erro, verifique a lógica de codificação
do fluxo de mensagens, do conjunto de mensagem ou da extensão definida pelo usuário. Os
sintomas do problema indicam a função que está falhando e, portanto, a parte do código que está com erro? Consulte a seção Extensões Definidas pelo Usuário para obter informações adicionais.
- Você vê os erros do
WebSphere Message Broker ou de recursos externos,
como bancos de dados?
Seu fluxo de mensagens pode estar perdendo
erros devido à utilização incorreta dos terminais de falha
em nós primitivos. Se você utilizar os terminais de falha, certifique-se de que os erros
sejam manuseados adequadamente.
Consulte Tratando Erros em Fluxos de Mensagens para
obter informações adicionais sobre os terminais de falha.