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 arrêtée.
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 arrêté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. Dans le panneau précédent
(propriétés d'exécution pour le point de messages), vérifiez que la valeur
Demandes de messages émises (point-à-point
uniquement) ou Demandes de messages reçues (publication/abonnement uniquement) est supérieure à zéro. Ce si n'est pas le cas, aucune demande n'a été effectuée. Vérifiez l'absence d'erreurs dans l'application consommatrice :
- Vérifiez que l'application est connectée à ME2.
- Vérifiez que l'application n'a pas généré d'erreurs pouvant expliquer pourquoi des messages ne sont pas consommés.
- Vérifiez que le consommateur a démarré.
- Vérifiez que l'application a tenté de consommer un message :
- Si l'application utilise un consommateur asynchrone, vérifiez que celui-ci est enregistré.
- Si l'application est synchrone, vérifiez que l'application consommatrice a exécuté une fonction
"recevoir" ou "recevoir avec attente" (ceci peut nécessiter une modification de l'application afin de prolonger son délai d'attente de message).
- Si le nombre de demandes de message émises est supérieur à zéro, des demandes de message sur le point de messages ont été effectuées depuis
ME3 vers ME2. Vérifiez que la valeur Demandes de messages traitées est supérieure à zéro. Si ce n'est pas le cas, 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.
- Si le nombre de demandes de message émises est supérieur à zéro, des demandes ont été émises par ME3, traitées par ME2 et
renvoyées à ME3. Pour vérifier que ces demandes ont été effectuées par l'application examinée, notez les valeurs actuelles de Demandes de messages traitées et de Demandes de messages émises ou de Demandes de messages reçues.
Exécutez à nouveau l'application consommatrice et vérifié que les deux valeurs ont augmenté.
Si ces valeurs n'augmentent pas, l'application n'a pas effectué de demande depuis ME3 vers ME2 pour ce point de messages (les chiffres existants se réfèrent à une application antérieure qui consommait des messages). Vérifiez l'absence d'erreurs dans l'application consommatrice :
- Vérifiez que l'application a démarré.
- Vérifiez que le nom de la destination consommée est correct.
- Si ces valeurs augmentent, la demande de message a été émise et traitée, mais aucun message n'a été envoyé ou traité par l'application consommatrice.
- Vérifiez que les critères de sélection d'application correspondent au(x) message(s) disponible(s) sur le point de message.
- Assurez-vous que l'application reçoit correctement le message en vérifiant l'absence d'erreurs d'application ou d'exécution.
Que faire ensuite
Si vous rencontrez toujours des problèmes, contactez votre représentant du service client IBM.