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.
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 remoto
Procedimiento
- Para mostrar las propiedades de ME1, pulse .
- 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.
- 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.
- 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.
- 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 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.
- 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:
- 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 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.
- 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.
- 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.