Como verificar qual ponto é a causa do problema com o MQ?
-
23-09-2019 - |
Pergunta
Eu uso o MQ para enviar/receber mensagem entre meu sistema e outro sistema. Em algum momento, descobri que nenhuma mensagem de resposta na fila de resposta, mas outros sistemas já colocaram a mensagem de resposta na fila de resposta (verifique no log). Portanto, como verificar qual ponto é a causa do problema, como provar que a mensagem não chega à minha fila de resposta.
Além disso, quando a mensagem chegar minha fila, ela será gravada no arquivo de log.
Nenhuma solução correta
Outras dicas
Você pode ver isso em tempo real usando a interface QSTATS. o MO71 SupportPac é um cliente de desktop que você pode configurar para conectar -se semelhante ao WebSphere MQ Explorer. Uma das opções que possui são as estatísticas da fila. Cada vez que você vê as estatísticas da fila, o WMQ as redefine para zero. Portanto, o procedimento é o seguinte:
- Inicie o MO71 e navegue nas filas.
- Filtre na única fila de interesse.
- Veja as estatísticas da fila algumas vezes.
- Você os verá redefinindo para zero.
- Agora execute seu teste.
- Veja as estatísticas da fila novamente.
Se o programa remoto realmente colocar uma mensagem, você verá que a fila agora mostra uma ou mais mensagens colocadas.
Se o seu programa executou com sucesso a mensagem, você verá contagens iguais ao número de contagens de venda.
Se acertar e colocar os dois zero, o programa remoto nunca coloca a mensagem de resposta.
Existem algumas outras abordagens para isso, mas essa é a mais fácil. A extremidade oposta do espectro é SupportPac MA0W O que mostrará todas as APIs chamadas contra essa fila, ou por PID, ou qualquer outra coisa. Ele mostra todas as opções; portanto, se um programa tentar abrir a fila com as opções erradas (ou seja, abra uma fila remota para entrada), ele mostra isso. Mas o MA0W é instalado como uma saída e exige que o QMGR seja saltado para que seja um pouco invasivo.