Investigación de la razón por la que una suscripción no recibe mensajes de publicación/suscripción a través de un punto de mensaje remoto

Hay un conjunto de comprobaciones que puede llevar a cabo para investigar por qué los mensajes de publicación/suscripción no son recibidos por una suscripción una suscripción 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 de publicación/suscripción no lleguen a una suscripción, que contiene comprobaciones preliminares y tareas de investigación que debe llevar a cabo antes de continuar con esta tarea.

Acerca de esta tarea

Complete esta tarea como parte de Investigación de la razón de que los mensajes de publicación/suscripción no lleguen a una suscripción. Esta tarea explica cómo investigar el flujo de mensajes en un escenario de mensajería de publicación/suscripción en que los mensajes se direccionan a través de un punto de mensaje remoto a una suscripción no duradera. Los siguientes diagramas ilustran dos situaciones posibles. Las líneas de puntos en los diagramas indican relaciones entre puntos de publicación, mientras que las líneas continuas indican un flujo de mensajes. En la figura 1, un bus contiene tres motores de mensajería, ME1, ME2 y ME3. La aplicación de publicación está conectada a ME1 y las aplicaciones suscriptoras están conectadas a ME2 y ME3. ME1 aloja los puntos de publicación remotos que representan los puntos de publicación alojados por ME2 y ME3. En la figura 2, un bus contiene tres motores de mensajería, ME1, ME2 y ME3. La aplicación de publicación está conectada a ME1 y las aplicaciones suscriptoras están conectadas a ME2 y ME3. ME1 aloja los puntos de publicación remotos que representan los puntos de publicación alojados por ME2 y ME3. La aplicación suscriptora B está conectada a ME3 y recibe publicaciones de ME1 a través de una suscripción remota en ME2. En los pasos siguientes se hace referencia a los motores de mensajería.
Figura 1. Generación de mensajes punto a punto utilizando un punto de mensaje remoto Esta figura describe la producción de mensajes punto a punto utilizando un punto de mensaje remoto.
Figura 2. Mensajería de publicación/suscripción utilizando un punto de mensaje remotoEsta figura describe la mensajería de publicación/suscripción utilizando un punto de mensaje remoto.
Los pasos siguientes se aplican a los dos escenarios.

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 publicación remotos y, a continuación, pulse el punto de publicación remoto que representa el punto de publicación en ME2. Pulse Temas y compruebe que el tema del consumidor aparece en la lista. Si el tema no aparece listado, complete las siguientes comprobaciones:
  3. Es posible que el registro de la suscripción se produzca después de publicarse el mensaje. Vuelva a publicar el mensaje y vuelva a ver si se ha recibido.
  4. En ME1, vuelva a visualizar el punto de publicación remoto que representa el punto de publicación en ME2. Revise el valor del campo Mensajes de salida actuales.
  5. 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 el espacio de temas. 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 del espacio de temas, 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 publicación en ME2 para ver si ha llegado el mensaje de prueba.
      • Si no ha desaparecido ninguno de los mensajes del espacio de temas, 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 publicación en ME2 no está lleno: visualice las propiedades de tiempo de ejecución para el punto de publicación 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.
        • Compruebe que los cambios de configuración se han propagado. Asegúrese de que ME2 conoce la existencia del punto de publicación 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 publicación 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.
  6. 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.
  7. 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.
  8. Ha comprobado el flujo de mensajes entre ME1 y ME2. Si tiene una aplicación que está en la posición de aplicación suscriptora A o B en la figura 1, ha investigado la situación por completo; si todavía tiene problemas, póngase en contacto con el representante de servicio al cliente de IBM. Si tiene una aplicación que está en la posición de aplicación suscriptora B en la figura 2, en otras palabras, una aplicación que tiene una suscripción remota, también debe investigar el flujo de mensajes entre ME2 y ME3, utilizando los pasos siguientes. Para determinar si la aplicación utiliza una suscripción remota, muestre los puntos de publicación correspondientes al espacio de temas pertinente, busque su suscripción y examine el nombre del punto de publicación. El nombre tendrá el formato nombre_espacio_temas@nombre_motor_mensajería. Esto le indicará en qué motor de mensajería está alojada la suscripción. Si este motor de mensajería es distinto al motor de mensajería al que está conectada la aplicación generadora, y el motor de mensajería al que está conectada la aplicación consumidora, se utiliza una suscripción remota.
  9. Visualice las suscripciones para el punto de publicación en ME2 y busque su suscripción en la lista. Si la suscripción no aparece en la lista, complete los comprobaciones siguientes:
  10. Pulse la suscripción y, a continuación, pulse Puntos de suscripción remotos conocidos. En la lista resultante, pulse el nombre del motor de mensajería representado por ME3 en el diagrama. Pulse Solicitudes de mensaje. Se visualizarán las solicitudes recibidas por la suscripción en ME2 desde la suscripción remota situada en ME3.
  11. Si es posible, inicie la aplicación consumidora y asegúrese de que está intentando consumir un mensaje activamente (la aplicación debe estar en estado "recepción con espera" o "consumidor asíncrono registrado") y siga las instrucciones indicadas en Investigación de la razón por la que los mensajes no se consumen a través de un punto de suscripción o punto de mensaje remoto, mientras se ejecuta la aplicación. Si la aplicación no puede permanecer en un estado consumidor activo por un período de tiempo significativo (lo bastante largo para investigar el problema), siga los pasos indicados en Investigación de la razón por la que los mensajes no se consumen a través de un punto de suscripción o punto de mensaje remoto, mientras se detiene la aplicación.

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_pubsub_nd_remote
File name: tju_pubsub_nd_remote.html