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:

  1. Inicie o MO71 e navegue nas filas.
  2. Filtre na única fila de interesse.
  3. Veja as estatísticas da fila algumas vezes.
  4. Você os verá redefinindo para zero.
  5. Agora execute seu teste.
  6. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top