Vous pouvez effectuer une série de vérifications pour déterminer pourquoi des
messages ne sont pas consommés à leur destination sur un bus d'intégration de services, lorsque les messages sont acheminés via un point de messages éloigné et que l'application consommatrice est en exécution.
Pourquoi et quand exécuter cette tâche
Effectuez cette tâche dans le cadre de celles de la rubrique
Détermination des raisons pour lesquelles les messages point-à-point ne sont pas consommés ou de la rubrique
Détermination des raisons pour lesquelles les messages de publication/abonnement ne parviennent pas à un abonnement. Cette tâche décrit comment examiner le flux de messages dans un scénario
où les messages sont acheminés via un point de messages éloigné et que l'application consommatrice est démarrée.
Les diagrammes ci-dessous illustrent deux scénarios possibles. Dans la Figure 1, un bus contient trois moteurs de messagerie : ME1, ME2 et ME3. L'application productrice est connectée à ME1 et l'application consommatrice à ME3.
Les messages sont acheminés de ME1 vers ME3 via ME2 et consommés depuis ME3. Ce scénario ne couvre que ME2 et ME3. ME3 héberge un point de messages éloigné qui représente le point de messages hébergé par ME2. Dans la Figure 2, ME2 et ME3 hébergent des points de publication qui sont représentés par des points de
publication éloignés sur ME1, auquel est associée l'application productrice. L'application abonnée B est connectée à ME3 et reçoit des messages de
ME1 de manière indirecte, via un abonnement sur ME2. un point d'abonnement éloigné sur ME 3. Ces moteurs de messagerie sont mentionnés dans les étapes ci-après.Figure 1. Consommation de message point à point à l'aide d'un point de message éloigné
Figure 2. Messagerie de publication/abonnement à l'aide d'un point de messages éloigné 
Procédure
- Si vous avez suivi la procédure de la rubrique Détermination des raisons pour lesquelles les messages point-à-point ne sont pas consommés ou Détermination des raisons pour lesquelles les messages de publication/abonnement ne parviennent pas à un abonnement avant d'entamer cette tâche, une liste de demandes de messages aurait du s'afficher. Vérifiez que la liste contient une
demande avec un sélecteur correspondant à un message disponible sur le point de message sur ME2. Si une telle demande ne figure pas dans la liste, l'application consommatrice ne consomme pas les messages ; vérifiez la présence d'erreurs dans cette application :
- Vérifiez que le consommateur a démarré.
- Vérifiez que l'application tente activement de consommer :
- Si l'application utilise un consommateur asynchrone, vérifiez que celui-ci est enregistré.
- Si l'application est synchrone, vérifiez que l'état actuel du consommateur est
"réception avec attente" (ceci peut nécessiter une modification de l'application afin de prolonger son délai d'attente de message).
- Vérifiez l'état de la demande active :
- Si son état est Valeur, un message a été extrait et renvoyé à l'application consommatrice, mais la consommation du message n'a pas encore eu lieu. Vérifiez que l'application consommatrice traite correctement les messages entrants. Vérifiez, par exemple, que l'application valide la transaction utilisée pour consommer le message.
- Si son état est Rejeté, un message a été extrait et renvoyé à l'application consommatrice, mais celle-ci l'a rejeté pour une raison quelconque. Généralement, ceci signifie que l'application consommatrice a annulé l'opération de consommation ou une transaction associée.
- Si son état est Accusé de réception, un message a été renvoyé pour la demande et consommé par une application. Vérifiez que le message a été reçu par l'application appropriée et n'a pas été consommé par une autre
application.
- Si son état est Demande, la demande de message a été envoyée au ME2 ; passez à la vérification suivante pour déterminer pourquoi un message n'a pas été renvoyé.
- Notez l'ID de demande. Sur ME2, affichez les points de message de la
destination et examinez les demandes de message depuis ME3. Vérifiez la présence d'une demande correspondant à l'ID de demande sur ME3. L'absence de demande correspondante indique que ME2 n'a pas connaissance de la demande. Vérifiez que les deux moteurs de messagerie peuvent communiquer entre-eux. Voir Identification et résolution des problèmes d'intégration de services : vérification de la communication entre deux moteurs de messagerie sur un bus.
- Vérifiez l'état de la demande :
Que faire ensuite
Si vous rencontrez toujours des problèmes, contactez votre représentant du service client IBM.