Feststellen, warum Nachrichten über einen fernen Nachrichten- oder Subskriptionspunkt nicht konsumiert werden, wenn die Anwendung gestartet ist

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 aktiv ist.

Vorbereitende Schritte

Führen Sie je nach Problem die im Artikel Feststellen, warum Punkt-zu-Punkt-Nachrichten nicht konsumiert werden oder im Artikel Feststellen, warum Publish/Subscribe-Nachrichten nicht bei der Subskription ankommen beschriebenen Schritte aus. Diese Artikel beschreiben vorläufige Prüfungen und Überprüfungstasks, die Sie ausführen müssen, bevor Sie mit dieser Task fortfahren.

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 gestartet 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 konsumierenDiese Abbildung beschreibt das Konsumieren von Punkt-zu-Punkt-Nachrichten mit einem fernen Nachrichtenpunkt.
Abbildung 2. Publish/Subscribe-Messaging mit einem fernen NachrichtenpunktDiese Abbildung beschreibt das Publish/Subscribe-Messaging mit einem fernen Nachrichtenpunkt.

Vorgehensweise

  1. 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. Prüfen Sie, ob die Liste eine Anforderung mit einem Selektor enthält, der einer verfügbaren Nachrichten am Nachrichtenpunkt in ME2 entspricht. Ist eine solche Anforderung nicht in der Liste enthalten, konsumiert die Anwendung keine Nachrichten. Überprüfen Sie die konsumierende Anwendung auf Fehler:
    • Stellen Sie sicher, dass die konsumierende Anwendung gestartet ist.
    • Stellen Sie sicher, dass die Anwendung aktiv versucht, Nachrichten 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 den Status "Empfang mit Wartezeit" hat (möglicherweise muss in der Anwendung die Wartezeit für Nachrichten verlängert werden).
  2. Überprüfen sie den Status der aktiven Anforderung:
    • Wenn die Anforderung den Status "Wert" hat, wurde eine Nachricht abgerufen und an die konsumierende Anwendung zurückgegeben, aber die Anwendung hat die Nachricht noch nicht vollständig konsumiert. Vergewissern Sie sich, dass die konsumierende Anwendung die eingehenden Nachrichten ordnungsgemäß verarbeitet. Stellen Sie beispielsweise sicher, dass die Anwendung die für den Konsum der Nachricht verwendete Transaktion festschreibt.
    • Wenn die Anforderung den Status "Zurückgewiesen" hat, wurde eine Nachricht abgerufen und an die konsumierende Anwendung zurückgegeben, die die Nachricht aber aus irgendeinem Grund zurückgewiesen hat. Im Allgemeinen bedeutet dies, dass die konsumierende Anwendung die Operation oder eine zugehörige Transaktion rückgängig gemacht hat.
    • Wenn die Anforderung den Status "Bestätigt" hat, wurde eine Nachricht zurückgegeben und von der Anwendung konsumiert. Stellen Sie sicher, dass die Nachricht von der richtigen Anwendung empfangen und nicht von einer anderen Anwendung konsumiert wurde.
    • Wenn die Anforderung den Status "Anforderung" hat, wurde die Nachrichtenanforderung an ME2 gesendet. Fahren Sie mit der nächsten Prüfung fort, um festzustellen, warum keine Nachricht zurückgegeben wurde.
  3. Notieren Sie die Anforderungs-ID. Zeigen Sie in ME2 die Nachrichtenpunkte für das Ziel an, und überprüfen Sie die Nachrichtenanforderungen von ME3. Vergewissern Sie sich, dass eine Anforderung vorhanden ist, die der Anforderungs-ID in ME3 entspricht. Falls keine passende Anforderung vorhanden ist, hat ME2 die Anforderung nicht erhalten. 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.
  4. Überprüfen sie den Status der Anforderung:
    • Wenn die Anforderung den Status "Angefordert" hat, wurde die Anforderung zwar empfangen, aber es ist keine passende Nachricht verfügbar. Überprüfen Sie, ob der Anforderungsselektor der verfügbaren Nachricht am Nachrichtenpunkt entspricht.
    • Wenn die Anforderung den Status "Bestätigung anstehend" hat, hat die Anforderung eine passende Nachricht gefunden und versucht, sie an ME3 zu übertragen. 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.

Nächste Schritte

Sollten weiterhin Probleme auftreten, wenden Sie sich an einen zuständigen IBM Servicemitarbeiter.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tju_pt2pt_not_consumed_remote1
Dateiname:tju_pt2pt_not_consumed_remote1.html