Investigación de la razón de que los mensajes punto a punto no lleguen a través de un punto de mensaje remoto

Hay un conjunto de comprobaciones que puede llevar a cabo para investigar por que los mensajes de punto a punto no llegan a un destino en un bus de integración de servicios, cuando los mensajes se direccionan a través de un punto de mensaje remoto.

Antes de empezar

Siga los pasos indicados en Investigación de la razón de que los mensajes punto a punto no lleguen, que contiene comprobaciones preliminares y tareas de investigación que debe llevar a cabo antes de continuar con esta tarea.

Acerca de esta tarea

Debe realizar esta tarea como parte de Investigación de la razón de que los mensajes punto a punto no lleguen. Esta tarea explica cómo investigar el flujo de mensajes en un escenario de mensajería punto a punto en que los mensajes se direccionan a través de un punto de mensaje remoto. En el diagrama siguiente, un bus contiene tres motores de mensajería, ME1, ME2 y ME3. La aplicación generadora está conectada a ME1 y la aplicación consumidora está conectada a ME3. Los mensajes se generan a ME1 y se direccionan de ME1 a ME3 mediante ME2. Este caso de ejemplo sólo implica a ME1 y ME2. ME1 aloja un punto de mensaje remoto que representa al punto de mensaje alojado por ME2. ME1 es el motor de mensajería al que está conectada la aplicación generadora, mientras que ME2 es el motor de mensajería que aloja el punto de cola.

En los pasos siguientes se hace referencia a estos motores de mensajería.

Figura 1. Generación de mensajes punto a punto utilizando un punto de mensaje remotoEsta figura se describe en el texto que la rodea.

Procedimiento

  1. Para mostrar las propiedades de ME1, pulse Integración de servicios -> Buses -> nombre_bus -> [Topología] Motores de mensajería -> nombre_motor.
  2. En el separador Tiempo de ejecución para ME1, pulse [Puntos de mensaje remotos] Puntos de cola remotos, a continuación, pulse el punto de cola remota que representa el punto de cola en ME2. Revise el valor del campo Mensajes de salida actuales.
  3. Si el número de mensajes de salida actuales es mayor que cero, los mensajes se han generado pero es posible que ME2 no los haya recibido.
    1. Compruebe que los dos motores de mensajería pueden comunicarse entre sí y consulte Resolución de problemas de integración de servicios: comprobación de la comunicación entre dos motores de mensajería en un bus.
    2. Busque mensajes anteriores en la cola. Si hay mensajes anteriores y algunos de ellos o todos son para ME2, espere unos momentos y, a continuación, renueve la vista.
      • Si algunos mensajes han desaparecido de la cola, el sistema está entregando mensajes pero se realiza registro de reserva. Espere a que se haya borrado el registro de reserva y a continuación inspeccione el punto de cola en ME2 para ver si ha llegado el mensaje de prueba.
      • Si no ha desaparecido ninguno de los mensajes de la cola, la transmisión de mensajes puede bloquearse con un mensaje atrapado en el estado Confirmando. Los mensajes posteriores deben esperar a que se entregue este mensaje; de lo contrario, se interrumpirá la ordenación de los mensajes.

        Si un mensaje está atrapado en el estado Confirmando, dicho mensaje está contenido en una transacción no resuelta. Un gestor de recursos como, por ejemplo, una base de datos, podría haberse colgado. Resuelva el problema existente en el gestor de recursos. Si esto falla, tome nota del ID de transacción del mensaje y pulse Servidores -> Tipos de servidor -> WebSphere Application Servers -> nombre_servidor -> Tiempo de ejecución > [Propiedades adicionales] Servicio de transacción para visualizar las propiedades generales correspondientes al servicio de transacciones. Utilice los enlaces Revisar para resolver la transacción cuyo ID global coincida con el ID de transacción del mensaje.

    3. Examine el estado del mensaje de prueba:
      • Si el estado del mensaje de prueba es "Pendiente de envío", el mensaje espera a ser enviado. Es posible que ME2 no esté aceptando mensajes. Complete las comprobaciones siguientes:
        • Compruebe que los dos motores de mensajería pueden comunicarse entre sí y consulte Resolución de problemas de integración de servicios: comprobación de la comunicación entre dos motores de mensajería en un bus.
        • Compruebe que el punto de cola en ME2 no está lleno: visualice las propiedades de tiempo de ejecución para el punto de cola y compare el valor de Profundidad de mensajes actual con el de Umbral alto de mensajes. Si la profundidad de mensajes actual es igual al umbral alto de mensajes, el motor de mensajería no aceptará mensajes nuevos hasta que se hayan consumido los mensajes en cola. Reinicie el consumidor y espere hasta que se borre el registro de reserva o suprima los mensajes.
          Nota: No podrá recuperar los mensajes una vez que los haya suprimido.
        • Compruebe que los cambios de configuración se han propagado. Asegúrese de que ME2 conoce la existencia del punto de cola desplegando los últimos valores de configuración en el servidor de aplicaciones ME2.
      • Si el estado del mensaje de prueba es "Pendiente de acuse de recibo", el mensaje se ha enviado pero ME2 no ha recibido o no ha procesado el mensaje. Compruebe que no hay mensajes en el estado Confirmando delante del mensaje de prueba en la cola de transmisión y luego espere unos momentos y examine de nuevo el punto de cola para ver si el mensaje de prueba ha llegado. Si hay mensajes atrapados en el estado Confirmando, resuelva este problema haciendo referencia al siguiente punto.
      • Si el mensaje de prueba (u otro mensaje) está en el estado Confirmando, el mensaje está contenido en una transacción no resuelta. Un gestor de recursos como, por ejemplo, una base de datos, podría haberse colgado. Resuelva el problema existente en el gestor de recursos. Si esto falla, tome nota del ID de transacción del mensaje y pulse Servidores -> Tipos de servidor -> WebSphere Application Servers -> nombre_servidor -> Tiempo de ejecución > [Propiedades adicionales] Servicio de transacción para visualizar las propiedades generales correspondientes al servicio de transacciones. Utilice los enlaces Revisar para resolver la transacción cuyo ID global coincida con el ID de transacción del mensaje.
  4. Si el número de mensajes de salida completados es mayor que cero, ME2 ha generado y procesado mensajes, pero el mensaje de prueba no ha aparecido. Vuelva a ejecutar la aplicación generadora y asegúrese de que el número de mensajes de salida completados en ME1 aumenta (es posible que vea aumentar el recuento de mensajes de salida activos antes de que aumente el recuento de mensajes de salida completados).
    • Si los recuentos no aumentan, entonces el mensaje no se ha generado en ME1. Compruebe que la aplicación generadora está conectada a este motor de mensajería (consulte Determinación del motor de mensajería al que está conectada una aplicación).
    • Si los recuentos aumentan, es que el mensaje ha llegado a ME2, pero se ha consumido, se ha enviado al destino de excepción, o ha caducado. Compruebe la presencia de consumidores y vuelva a completar las comprobaciones preliminares.
  5. Si el número de mensajes actuales y completados es cero, compruebe que la aplicación generadora produce mensajes en este destino, realizando de nuevo las comprobaciones preliminares relevantes.

Qué hacer a continuación

Si todavía tiene problemas, póngase en contacto con el representante del servicio al cliente de IBM.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tju_pt2pt_not_arriving_remote
File name: tju_pt2pt_not_arriving_remote.html