Resolución de problemas de nodos JMS

Revisión de posibles problemas con nodos JMS.

En todos los casos de error, si la causa subyacente es una excepción JMS generada por el proveedor de JMS, el mensaje de suceso bip de intermediario incluye el texto de la excepción JMS para ayudar en el diagnóstico.

Gestión de mensajes formados incorrectamente

Si el nodo JMSInput no puede procesar un mensaje o si se ha restituido un mensaje como parte de una transacción global, se restituye el mensaje al destino de origen. Entonces se vuelve a entregar el mensaje al nodo JMSInput.

Para evitar que los mensajes formados incorrectamente interrumpan el proceso de los mensajes válidos, se pueden configurar las propiedades de nodo como se indica a continuación:

Destino de restitución Esta propiedad especifica un JMS donde se direccionan los mensajes restituidos si la propiedad de mensaje JMS JMSX_DeliveryCount, establecida por el proveedor de JMS, excede el umbral de restitución.

El destino JMS debe ser aplicable al modelo de mensaje que el nodo está utilizando; por ejemplo, si se ha configurado en el nodo un tema de suscripción, el destino JMS también debe ser un tema.

Umbral de restitución Esta propiedad especifica el valor entero que controla que un mensaje se envíe al destino de restitución. Un valor de umbral de 3 significa que, si el nodo JMSInput recibe un mensaje donde el valor de la propiedad JMSX_DeliveryCount excede de 3, el mensaje se envía al destino de restitución y se elimina del destino de origen.

Diagnóstico de problemas al utilizar transacciones coordinadas globalmente

Además del rastreo de servicio del intermediario, se proporciona otra anotación de rastreo para diagnosticas los problemas que pueden producirse cuando un nodo JMSInput o JMSOutput participa en una transacción de flujo de mensajes global. Es decir, que como mínimo, un nodo JMSInput o JMSOutput del flujo de mensajes tiene la propiedad Modalidad de transacción establecida en global y la propiedad del flujo de mensajes Transacción coordinada establecida en .

Para capturar la anotación de rastreo, realice los pasos siguientes:
  1. Defina una variable de entorno llamada XAJMS_TRACEFILE que esté disponible para el gestor de colas de intermediario.
  2. Establezca el valor de la variable de entorno. Este valor deber ser una serie de caracteres que represente la ubicación y el nombre de archivo de la anotación de rastreo. Por ejemplo, en Windows la variable se puede configurar como se indica a continuación:
    XAJMS_TRACEFILE = c:\JMSSwitchLog
  3. Cuando el gestor de colas de intermediario se inicia, realiza un paso de recuperación para resolver las transacciones de intermediario anteriores que el proveedor de JMS considera dudosas. Este proceso de gestor de colas graba dos anotaciones de rastreo durante esta etapa. Las dos anotaciones de rastreo son:
    • XAJMS_TRACEFILE valuePID.txt, donde PID es el ID de proceso del proceso de inicio del gestor de colas. Este archivo se genera a partir de la biblioteca JMSSwitch del intermediario; consulte Transacciones JMS para obtener más información.

      La utilización del valor de ejemplo anterior para la variable produce un archivo denominado JMSSwitchLog2596.txt, donde el ID de proceso de arranque del gestor de colas era 2596.

    • XAJMS_TRACEFILEXARecoveryTrace.txt que se crea mediante el componente de recuperación del intermediario que se conecta al proveedor JMS.
  4. Cuando el gestor de colas ha completado la recuperación, el intermediario inicia y crea un archivo llamado XAJMS_TRACEFILE valuePID.txt, donde PID es el ID de proceso del proceso de inicio del gestor de colas. Este archivo se genera desde la biblioteca JMSSwitch del intermediario; consulte Transacciones JMS para obtener más información.

Ninguno de estos archivos de rastreo necesita formato adicional.

Este problema no se aplica a z/OS.

Problemas con objetos administrados JNDI

Descripción del problema: el nodo JMSInput o JMSOutput no puede obtener la Fábrica de contexto inicial ni un objeto administrado JNDI como Fábrica de conexión o Destino JMS, y se emite un mensaje BIP4640.

Acción correctiva
  1. Verifique que los enlaces JNDI se hayan creado correctamente y se pueden alcanzar en la ubicación especificada en el nodo.
  2. Compruebe si los valores especificados en el nodo para Contexto inicial, Nombre de fábrica de conexión y Cola de origen o Cola de destino existen en los enlaces JNDI.
  3. Asegúrese de que se utiliza la palabra clave correcta para comparar la ubicación de los enlaces:
    • file:// cuando los objetos administrados se han creado en un archivo .bindings
    • ldap:// cuando los objetos administrados existen en un directorio LDAP
    • iiop:// cuando se utiliza corba para acceder a los objetos administrados
  4. Cuando los enlaces están basados en archivos no especifique el nombre de archivo .bindings en la propiedad del nodo.
  5. Asegúrese de que el nombre de Fábrica de contexto inicial no incluye una vía de acceso de archivo.
  6. Asegúrese de que en los objetos administrados JNDI existe un Destino JMS (Tema o Cola de origen o Cola de destino) especificado en la propiedad del nodo.
  7. Asegúrese de que los archivos .jar Java de proveedor JMS se han colocado en el directorio de clases compartidas del intermediario en plataformas distribuidas o, en z/OS, que dichos archivos .jar se definido para la CLASSPATH del intermediario y para todas las bibliotecas nativas definidas en la LIBPATH de intermediario.
Los nodos JMS continúan intentando obtener los objetos administrados JNDI. Corrija los problemas y vuelva a crear los enlaces. El nodo JMS deberá detectar automáticamente los cambios e intentar iniciarse.

Descripción del problema: Un nodo JMSInput o JMSOutput no puede conectarse a un proveedor JMS y emite un mensaje BIP4648.

Acción correctiva:
  1. Verifique que el servidor del proveedor de JMS esté en ejecución. Si está fuera de línea, inicie el servidor.
  2. Verifique que el servidor del proveedor de JMS esté disponible desde el entorno de intermediario.
  3. Asegúrese de que los archivos .jar Java de proveedor JMS se han colocado en el directorio de clases compartidas del intermediario en plataformas distribuidas o, en z/OS, de que dichos archivos .jar se definido para la CLASSPATH del intermediario y para todas las bibliotecas nativas definidas en la LIBPATH de intermediario.
Los nodos JMS continúan intentando conectarse al proveedor de JMS. Corrija los problemas y el nodo JMS detectará automáticamente los cambios e intentará conectarse al proveedor.

Descripción del problema: Un nodo JMSInput o JMSOutput no puede obtener un destino JMS y emite un mensaje BIP4642.

Acción correctiva
  1. Investigue la causa del problema descrito por el mensaje de excepción JMS que podría estar incluido en el mensaje de suceso BIP.
  2. Compruebe si el nombre del destino JMS definido en la propiedad pertinente (Tema o Cola de origen o Cola de destino) del nodo se ha definido correctamente en los objetos administrados JNDI.
  3. Compruebe si el recurso del sistema subyacente utilizado por el proveedor de JMS para el destino JMS se ha configurado correctamente
Conceptos relacionados
Transacciones JMS
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Reservados todos los derechos.
Última actualización : 2009-02-16 14:30:37

ac24877_