WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Resolución de problemas de nodos JMS

Revise los posibles problemas con nodos que utilizan el transporte JMS.

Utilice el registro de actividad como el primer paso para diagnosticar un problema cuando sucede algo inesperado en un flujo de mensajes JMS. El registro de actividad muestra las actividades recientes en los flujos de mensajes y los recursos externos asociados y puede mostrar en un nivel alto los problemas con los recursos JMS. También puede ver el registro de sucesos para obtener información sobre los errores que se producen.

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

Gestión de mensajes formados incorrectamente

Si el nodo de entrada JMS no puede procesar un mensaje, o si éste se ha restituido como parte de una transacción coordinada XA, el mensaje se restituye al destino de origen. A continuación, el mensaje se vuelve a entregar al nodo de entrada.

Para impedir que los mensajes formados incorrectamente interrumpan el proceso de los mensajes válidos, las propiedades del nodo se pueden configurar como se describe en la tabla siguiente:
Propiedad Descripción
Destino de restitución Esta propiedad especifica un destino JMS al que se direccionan los mensajes restituidos si la propiedad de mensaje JMS JMSX_DeliveryCount, establecida por el proveedor 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 restituciones Esta propiedad especifica el valor entero que controla un mensaje que se envía al destino de restitución. Un valor de umbral de 3 indica que si el nodo de entrada 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. Consulte Configuración de la propiedad de umbral de restitución.

Diagnóstico de problemas al utilizar transacciones coordinadas XA

Este problema no es aplicable a z/OS.

Además del rastreo de servicio del intermediario, se proporciona otro registro cronológico de rastreo para diagnosticar los problemas que pueden surgir cuando un nodo que utiliza el transporte JMS participa en una transacción de flujo de mensajes coordinada XA. Es decir, al menos un nodo JMS del flujo de mensajes tiene la propiedad Modalidad de transacción establecida en , y la propiedad de 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 muestra en el ejemplo siguiente:
    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 JMS considera dudosas. Este proceso de gestor de colas graba en dos registros de rastreo durante esta etapa. Los dos registros 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; para obtener más información, consulte Transaccionalidad JMS.

      El ejemplo anterior produce un archivo llamado JMSSwitchLog2596.txt, donde el ID de proceso de inicio del gestor de colas es 2596.

    • XAJMS_TRACEFILEXARecoveryTrace.txt, generado por el componente de recuperación del intermediario que se conecta al proveedor JMS.
  4. Después de que el gestor de colas del intermediario ha completado la recuperación, el intermediario se 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 a partir de la biblioteca JMSSwitch del intermediario; para obtener más información, consulte Transaccionalidad JMS.

Ninguno de estos archivos de rastreo necesita formato adicional.

Problemas con objetos administrados JNDI

Descripción del problema: El nodo JMS no puede obtener la Fábrica de contexto inicial o un objeto administrado JNDI, como por ejemplo la Fábrica de conexiones o el destino JMS, y se emite el mensaje BIP4640.

Acción correctiva
  1. Verifique que los enlaces JNDI se hayan creado correctamente y se pueda acceder a ellos en la ubicación especificada en el nodo.
  2. Compruebe que los valores especificados en el nodo para las propiedades Nombre de fábrica de conexiones 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 clase de fábrica de contexto inicial está establecido correctamente, tal como se especifica en la documentación del proveedor JMS.
  6. Asegúrese de que el nombre de clase de fábrica de contexto inicial no incluye una vía de acceso de archivo.
  7. 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.
  8. Asegúrese de que la propiedad jarsURL del Proveedor JMS se ha establecido correctamente utilizando el mandato mqsichangeproperties. Para comprobar el valor, utilice el mandato siguiente:
    mqsireportproperties MB8BROKER -c JMSProviders -o ProveedorJMS –r
Los nodos JMS siguen intentando obtener los objetos administrados JNDI. Corrija los problemas y reconstruya los enlaces. El nodo JMS debería detectar automáticamente los cambios e intentar iniciarse.
  • Si el problema se resuelve mediante la reconstrucción de los enlaces, el nodo JMS detecta los cambios automáticamente e intenta iniciarse.
  • Si el problema se resuelve actualizando las propiedades del nodo, debe volver a desplegar el flujo para que pueda conectarse satisfactoriamente.
  • Si el problema se resuelve actualizando las propiedades del servicio configurable JMSProviders, debe reiniciar el grupo de ejecución para que los cambios tengan efecto.

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

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

Descripción del problema: Un nodo JMS no puede obtener un destino JMS y emite el 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 que el nombre del destino JMS definido en la propiedad de nodo pertinente (Tema, Cola de origen o Cola de destino) se ha definido correctamente en los objetos administrados JNDI.
  3. Verifique que el recurso del sistema subyacente que el proveedor JMS utiliza para el destino JMS se ha configurado correctamente

Descripción del problema: Un nodo de entrada JMS no intenta volver a conectarse a un proveedor JMS después de una anomalía de conexión o de un reinicio del proveedor JMS.

Acción correctiva: Si el proveedor JMS se implementa utilizando un modelo "push" en el cliente JMS, en lugar de un modelo de sondeo tradicional, el proveedor JMS puede no generar una excepción al llamar a receive() en una conexión de intermediario. Para resolver este problema, establezca la propiedad jmsAsyncExceptionHandling del servicio configurable JMSProviders en true para este proveedor JMS.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:33


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ac24877_