Resolución de problemas de 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 incluirá 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 en el destino de origen. Entonces se vuelve a entregar el mensaje en el 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 Es un destino 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 Es 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 diagnosticar los problemas que se pueden producir cuando un nodo JMSInput o JMSOutput participa en una transacción de flujo de mensajes global. Es decir, como mínimo un nodo JMSInput o JMSOutput del flujo de mensajes tiene la propiedad Modalidad de transacción establecida en global y el atributo de flujo de mensajes Transacción coordinada establecido en .

Para capturar la anotación de rastreo, realice los pasos siguientes:
  1. Defina una variable de entorno denominada XAJMS_TRACEFILE que esté disponible para el Gestor de colas de intermediario.
  2. Establezca el valor de la variable de entorno. Debe 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 producirá dos anotaciones de rastreo durante esta etapa. Las dos anotaciones de rastreo son:
    • <valor de XAJMS_TRACEFILE><PID>.txt, donde PID es el ID de proceso del proceso de inicio del gestor de colas. Este archivo se produce desde la biblioteca JMSSwitch del intermediario. Si desea ver más información, consulte Transacciones JMS.

      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_TRACEFILE><XARecoveryTrace>.txt producido por el componente de recuperación del intermediario que se conecta al proveedor de JMS.
  4. Cuando el gestor de colas del intermediario ha completado la recuperación, el intermediario se inicia y crea un archivo denominado <valor de XAJMS_TRACEFILE><PID>.txt, donde PID es el ID de proceso del proceso de inicio del gestor de colas. Este archivo se produce desde la biblioteca JMSSwitch del intermediario. Si desea ver más información, consulte Transacciones JMS.
Ninguno de estos archivos de rastreo necesita formato adicional.

No es aplicable 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 o un objeto administrado JNDI, por ejemplo la Fábrica de conexiones o el 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 que los valores especificados en el nodo para el Contexto inicial, el Nombre fábrica de conexiones y la Cola de origen o la 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 archivo, no especifique el nombre de archivo .bindings en el atributo de 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, cola de origen o cola de destino) especificado en los atributos de nodo.
  7. Asegúrese de que los archivos .jar Java de proveedor de JMS se han puesto en el directorio de clases compartidas de intermediario en plataformas distribuidas o, en z/OS, de que estos jar se han definido en la CLASSPATH de intermediario y en las bibliotecas nativas definidas en la LIBPATH de intermediario.
Los nodos JMS continuarán 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 de JMS y emite un mensaje bip4648.

Acción correctiva:
  1. Verifique que el servidor del proveedor de JMS esté en ejecución. Inícielo si está fuera de línea.
  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 de JMS se han puesto en el directorio de clases compartidas de intermediario en plataformas distribuidas o, en z/OS, de que estos jar se han definido en la CLASSPATH de intermediario y en las bibliotecas nativas definidas en la LIBPATH de intermediario.
Los nodos JMS continuarán 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 es capaz de 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 puede estar incluido en el mensaje de sucesos bip.
  2. Compruebe que el nombre del atributo de destino JMS en el atributo de nodo (tema, cola de origen o cola de destino) se haya definido correctamente en los objetos administrados JNDI.
  3. Verifique que el recurso de 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, 2006 Última actualización: 22/08/2006
ac24877_