Es gibt eine Reihe von Prüfungen, die Sie ausführen können, um festzustellen, warum Nachrichten an einem Ziel in einem Service Integration Bus nicht konsumiert werden, wenn die Nachrichten über einen fernen
Nachrichtenpunkt weitergeleitet werden und die konsumierende Anwendung gestoppt ist.
Informationen zu diesem Vorgang
Sie führen diese Task im Rahmen der Task
Feststellen, warum Punkt-zu-Punkt-Nachrichten nicht konsumiert werden oder der Task
Feststellen, warum Publish/Subscribe-Nachrichten nicht bei der Subskription ankommen aus. Diese Task beschreibt, wie Sie den Nachrichtenfluss
in einem Szenario untersuchen können, in dem Nachrichten über einen fernen Nachrichtenpunkt weitergeleitet werden und die
konsumierende Anwendung gestoppt ist.
Die folgenden Abbildungen veranschaulichen zwei mögliche Szenarien.
In Abbildung 1 enthält ein Bus drei Messaging-Engines: ME1, ME2 und ME3. Die erzeugende
Anwendung ist mit ME1 verbunden und die konsumierende Anwendung mit ME3. Die Nachrichten
werden von ME1 über ME2 an ME3 weitergeleitet und von ME3 konsumiert.
Dieses Szenario beschäftigt sich nur mit ME2 und ME3. ME3 enthält einen fernen
Nachrichtenpunkt, der den Nachrichtenpunkt in ME2 darstellt. In Abbildung 2 enthalten ME2 und ME3 Veröffentlichungspunkte, die von fernen Veröffentlichungspunkten in
ME1 dargestellt werden, mit der die erzeugende Anwendung verbunden ist.
Die subskribierende Anwendung B ist mit ME3 verbunden und empfängt Nachrichten indirekt
von ME1 und zwar über eine Subskription in ME2 über einen fernen Subskriptionspunkt in ME3. Auf diese Messaging-Engines wird in den folgenden Schritten verwiesen.Abbildung 1. Punkt-zu-Punkt-Nachrichten über einen fernen Nachrichtenpunkt konsumieren
Abbildung 2. Publish/Subscribe-Messaging mit einem fernen Nachrichtenpunkt
Vorgehensweise
- Wenn Sie vor Beginn dieser Task die im Artikel Feststellen, warum Punkt-zu-Punkt-Nachrichten nicht konsumiert werden oder Artikel Feststellen, warum Publish/Subscribe-Nachrichten nicht bei der Subskription ankommen beschriebenen Schritte
ausgeführt haben, müssen Sie eine Liste der Nachrichtenanforderungen erhalten haben.
Vergewissern Sie in der vorherigen Anzeige (Laufzeiteigenschaften für den Nachrichtenpunkt), dass
der Wert im Feld Abgesetzte Nachrichtenanforderungen (nur Punkt-zu-Punkt-Messaging) bzw.
Empfangene Nachrichtenanforderungen (nur Publish/Subscribe-Messaging) größer als null ist.
Wenn der Wert nicht größer als null ist, wurden keine Anforderungen gestellt. Überprüfen Sie die konsumierende
Anwendung auf Fehler:
- Vergewissern Sie sich, dass die Anwendung mit ME2 verbunden ist.
- Vergewissern Sie sich, ob die Anwendung Fehler generiert hat, die erklären, warum die Nachrichten nicht konsumiert werden.
- Vergewissern Sie sich, dass der Konsument gestartet ist.
- Vergewissern Sie sich, dass die Anwendung versucht hat, eine Nachricht zu konsumieren:
- Wenn die Anwendung einen asynchronen Konsumenten verwendet, stellen Sie sicher, dass dieser Konsument registriert ist.
- Wenn es sich um eine synchrone Anwendung handelt, stellen Sie sicher, dass der Konsument
eine Funktion "Empfangen" oder "Empfang mit Wartezeit" ausgeführt hat (möglicherweise muss in der Anwendung die Wartezeit für Nachrichten verlängert werden).
- Wenn die Anzahl der abgesetzten Nachrichtenanforderungen größer ist als null, hat
ME3 Anforderungen für Nachrichten am Nachrichtenpunkt an ME2 abgesetzt.
Prüfen Sie, ob der Wert für Abgeschlossene Nachrichtenanforderungen größer als null ist.
Sollte dies nicht der Fall sein, vergewissern Sie sich, dass die beiden Messaging-Engines miteinander kommunizieren können. Lesen Sie hierzu den Artikel
Fehlerbehebung bei der Serviceintegration: Kommunikation zwischen zwei Messaging-Engines in einem Bus überprüfen.
- Wenn die Anzahl abgeschlossener Nachrichtenanforderungen größer als null ist,
werden Anforderungen von ME3 abgesetzt, von ME2 verarbeitet und an ME3 zurückgegeben.
Um sicherzustellen, dass diese Anforderungen auch von der untersuchten Anwendung gestellt wurden,
notieren Sie die Werte für Abgeschlossene Nachrichtenanforderungen und
Abgesetzte Nachrichtenanforderungen bzw. Empfangene Nachrichtenanforderungen. Führen Sie die konsumierende Anwendung
erneut aus und prüfen Sie, ob sich die Werte erhöht haben.
Falls sich die Werte nicht erhöht haben, hat die Anwendung keine Anforderung von
ME3 an ME2 für diesen Nachrichtenpunkt abgesetzt (der vorhandene Wert bezieht sich auf eine vorherige Anwendung, die Nachrichten konsumiert hat).
Überprüfen Sie die konsumierende
Anwendung auf Fehler:
- Vergewissern Sie sich, dass die Anwendung gestartet ist.
- Vergewissern Sie sich, dass der Name des Ziels, von dem die Nachrichten konsumiert werden, korrekt ist.
- Falls sich die Werte erhöht haben, wurde die Nachrichtenanforderung abgesetzt und abgeschlossen, aber es wurde keine
Nachricht von der konsumierenden Anwendung zurückgegeben bzw. verarbeitet.
- Vergewissern Sie sich, dass die Auswahlkriterien der Anwendung einer oder mehreren der am Nachrichtenpunkt verfügbaren Nachrichten entsprechen.
- Vergewissern Sie sich, dass die Anwendung die Nachricht ordnungsgemäß empfängt.
Prüfen Sie dazu, ob die Anwendung Laufzeitfehler generiert.
Nächste Schritte
Sollten weiterhin Probleme auftreten, wenden Sie sich an einen zuständigen IBM Servicemitarbeiter.