Como evitar o MQRC2033 sem MSG disponível

Tenho um programa simples para processar mensagens de uma fila. Minha intenção é processar todas as mensagens disponíveis na fila e ainda ouvir a fila para as mensagens recebidas.

eu escrevi a parte de processamento dentro de um loop infinito como eu quero que ele ouça a fila sempre e processar mensagens.

Uma Vez depois de processar todas as mensagens novamente tenta obter uma mensagem (como está dentro de um laço infinito) da fila e lá

Não há mensagens que lance no MQRC 2033. No_msg_excepção disponível (de facto está correcto) e o meu programa sai.

Alguém pode dar uma ideia para continuar a ouvir esta fila e evitar esta excepção?

 7
Author: Vignesh, 2011-06-25

1 answers

Quando você executa a chamada da API MQGET, existe uma opção para que o programa espere por mensagens. Você pode especificar um tempo de espera (em milisegundos) ou especificar para esperar para sempre. Apenas certifique-se de que se você tem o aplicativo esperar por mais de alguns segundos, também especificar 'falhar se Quiescing'. Isto permite que o gestor da fila seja parado de forma limpa. Sem "falhar se Quiescing" o administrador terá que emitir um desligamento preventivo que pode causar problemas.

Existe uma secção especificamente para esta questão no Guia do programador no Capítuloà espera de Mensagens . Dependendo da língua em que está a escrever ,o valor real a especificar está na referência do programador, no Usando o manual Java ou no usando o manual.Net. Cada um destes será visível no painel de navegação quando você clicar no link acima.

 5
Author: T.Rob, 2011-06-26 03:24:28