2011-12-09 23 views

Respuesta

6

Depende de qué se refiera exactamente a 'ping'. ¿Desea verificar si ejecuta procesos WMQ? Para la conectividad local al QMgr? Conectividad remota? Si un canal específico o cola está disponible?

Localmente puede usar dspmq y le mostrará todos los QMgrs definidos localmente y su estado. De forma remota, puede hacer ping al oyente, pero si no completa la conexión, esto hace que WMQ registre un error y corte un rastro. Remotamente, es mejor usar el cliente WMQ para hacer una conexión. Si la conexión tiene éxito, entonces QMgr está activo. Si obtiene un error, el código de error (o la excepción vinculada en JMS) le indicará hasta qué punto de la pila de WMQ obtuvo la solicitud de conexión, es decir, si el oyente estaba inactivo, o si estaba activo y había un problema en el QMGR, o si usted no tiene la autoridad, etc.

Hay programas de ejemplo que vienen con MQ como amqsget y amsqput, y sus equivalentes basados ​​en el cliente o amqsgetcamqsputc, que conectan y obtienen o un mensaje. Estos pueden usarse en scripts para verificar el estado de MQ. Además, hay un tutorial here que proporciona un programa JMS independiente que se puede conectar y que se puede personalizar como una aplicación de ping.

El formato del comando que pretende es:

echo dis qmgr qmname | runmqsc QMGRNAME 

Esto se hace eco de un comando para mostrar los atributos del QMGR en runmqsc y lo ejecuta. El manual que contiene todos los comandos runmqsc para v7.0 es here. El manual v7.1 is here.

Finalmente, aunque no creo que esto sea lo que está buscando, WMQ tiene un comando ping. Se usa en un administrador de colas para probar la conectividad del canal a otro gestor de colas. El ping de WMQ ejerce la ruta del canal y valida cosas tales como que el oyente remoto está activo, el administrador de colas remoto tiene una instancia de canal compatible definida, etc. Sin embargo, esto es más útil para un administrador de MQ que para un desarrollador que desea saber si gestor de colas está arriba. Para eso querrías alguna versión de una de las sugerencias anteriores.

+0

Solo necesito verificar si la cola está disponible para comunicarse. ¿Hay algún comando de consola que pueda usar? – OBL

+0

Para verificar una cola, debe conectarse al gestor de colas e intentar abrir la cola. Los comandos 'amqsput/amqsget' pueden hacer eso. No hay ningún comando de consola que devuelva el estado de una cola, pero 'dspmq' devuelve el estado del gestor de colas. –

Cuestiones relacionadas