Feststellen, warum Punkt-zu-Punkt-Nachrichten über einen fernen Nachrichtenpunkt nicht ankommen

Es gibt eine Gruppe von Prüfungen, die Sie ausführen können, um festzustellen, warum Punkt-zu-Punkt-Nachrichten nicht an einem Ziel in einem Service Integration Bus ankommen, wenn die Nachrichten über einen fernen Nachrichtenpunkt weitergeleitet werden.

Vorbereitende Schritte

Führen Sie die im Artikel Feststellen, warum Punkt-zu-Punkt-Nachrichten nicht ankommen beschriebenen Schritte aus. In diesem Artikel werden vorläufige Prüfungen und Überprüfungstasks beschrieben, 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 ankommen aus. Diese Task erläutert, wie Sie den Nachrichtenfluss beim Punkt-zu-Punkt-Messaging untersuchen, wenn Nachrichten über einen fernen Nachrichtenpunkt weitergeleitet werden. In der folgenden Abbildung 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 für ME1 erzeugt und von ME1 über ME2 an ME3 weitergeleitet. Dieses Szenario beschäftigt sich nur mit ME1und ME2. ME1 enthält einen fernen Nachrichtenpunkt, der den Nachrichtenpunkt in ME2 darstellt. ME1 ist die Messaging-Engine, mit der die erzeugende Anwendung verbunden ist, und ME2 die Messaging-Engine, die den Warteschlangenpunkt enthält.

Auf diese Messaging-Engines wird in den folgenden Schritten verwiesen.

Abbildung 1. Erzeugen von Punkt-zu-Punkt-Nachrichten mit einem fernen NachrichtenpunktDiese Abbildung wird im Begleittext beschrieben.

Vorgehensweise

  1. Zeigen Sie die Eigenschaften für ME1 an, indem Sie auf Serviceintegration -> Busse -> Busname -> [Topologie] Messaging-Engines -> Name_der_Engine klicken.
  2. Klicken Sie auf der Registerkarte Laufzeit für ME1 auf [Ferne Nachrichtenpunkte] Ferne Warteschlangenpunkte, und klicken Sie dann auf den fernen Warteschlangenpunkt, der den Warteschlangenpunkt in ME2 repräsentiert. Überprüfen Sie den Wert im Feld Aktuelle abgehende Nachrichten.
  3. Wenn die aktuelle Anzahl abgehender Nachrichten größer als null ist, wurden Nachrichten erzeugt, aber von ME2 möglicherweise nicht empfangen.
    1. 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.
    2. Suchen Sie nach älteren Nachrichten in der Warteschlange. Sollten ältere Nachrichten vorhanden und einige oder alle für ME2 bestimmt sein, warten Sie einige Augenblicke und aktualisieren Sie dann die Ansicht.
      • Wenn einige der Nachrichten nicht mehr in der Warteschlange enthalten sind, stellt das System derzeit Nachrichten zu, befindet sich aber mit der Zustellung im Rückstand. Warten Sie, bis das System den Rückstand aufgeholt hat, und untersuchen Sie dann den Warteschlangenpunkt in ME2, um festzustellen, ob die Testnachricht angekommen ist.
      • Wenn noch alle Nachrichten in der Warteschlange enthalten sind, wird die Übertragung der Nachrichten möglicherweise durch eine Nachricht im Status "Festschreiben" blockiert. Später gesendete Nachrichten müssen warten, bis diese Nachricht zugestellt ist, andernfalls gerät die Nachrichtenreihenfolge durcheinander.

        Wenn eine Nachricht im Status "Festschreiben" gefangen ist, ist diese Nachricht in einer unaufgelösten Transaktion enthalten. Unter Umständen ist ein Ressourcenmanager, z. B. eine Datenbank, blockiert. Beheben Sie den Fehler im Ressourcenmanager. Sollte dieser Versuch fehlschlagen, notieren Sie die Transaktions-ID der Nachricht, und klicken Sie auf Server -> Servertypen -> WebSphere-Anwendungsserver -> Servername -> Laufzeit > [Weitere Eigenschaften] Transaktionsservice, um die allgemeinen Eigenschaften für den Transaktionsservice anzuzeigen. Verwenden Sie die Links Überprüfen, um die Transaktion aufzulösen, deren globale ID mit der Transaktions-ID der Nachricht übereinstimmt.

    3. Überprüfen Sie den Status der Testnachricht:
      • Wenn die Testnachricht den Status "Senden anstehend" hat, wartet die Nachricht darauf, versendet zu werden. Möglicherweise akzeptiert ME2 derzeit keine Nachrichten. Führen Sie die folgenden Prüfungen durch:
        • 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.
        • Prüfen Sie, ob der Warteschlangenpunkt in ME2 voll ist: Zeigen Sie die Laufzeiteigenschaften für den Warteschlangenpunkt an und vergleichen Sie den Wert im Feld Aktuelle Nachrichtenanzahl mit dem Wert im Feld Oberer Schwellenwert für Nachrichten. Falls die aktuelle Nachrichtenanzahl gleich dem oberen Schwellenwert für Nachrichten ist, akzeptiert die Messaging-Engine so lange keine neuen Nachrichten, bis die Nachrichten in der Warteschlange konsumiert sind. Sie können den Konsumenten erneut starten und warten, bis der Rückstand aufgeholt ist, oder die Nachrichten löschen.
          Anmerkung: Gelöschte Nachrichten können nicht wiederhergestellt werden.
        • Vergewissern Sie sich, dass die Konfigurationsänderungen weitergegeben wurden. Stellen Sie sicher, dass ME2 über die Existenz des Warteschlangenpunkts Kenntnis erhält, indem Sie die aktuellen Konfigurationseinstellungen im Anwendungsserver von ME2 implementierten.
      • Wenn die Testnachricht den Status "Bestätigung anstehend" hat, wurde die Nachricht zwar gesendet, aber ME2 hat die Nachricht entweder noch nicht empfangen oder noch nicht verarbeitet. Stellen Sie sicher, dass in der Übertragungswarteschlange keine Nachrichten im Status "Festschreiben" vor der Testnachricht enthalten sind. Warten Sie dann einen Moment und untersuchen Sie den Warteschlangenpunkt erneut, um festzustellen, ob die Testnachricht angekommen ist. Sollten Nachrichten im Status "Festschreiben" gefangen sein, ziehen Sie zur Fehlerbehebung den folgenden Punkt heran.
      • Wenn die Testnachricht (oder eine andere Nachricht) den Status "Festschreiben" hat, ist die Nachricht in einer unaufgelösten Transaktion enthalten. Unter Umständen ist ein Ressourcenmanager, z. B. eine Datenbank, blockiert. Beheben Sie den Fehler im Ressourcenmanager. Sollte dieser Versuch fehlschlagen, notieren Sie die Transaktions-ID der Nachricht, und klicken Sie auf Server -> Servertypen -> WebSphere-Anwendungsserver -> Servername -> Laufzeit > [Weitere Eigenschaften] Transaktionsservice, um die allgemeinen Eigenschaften für den Transaktionsservice anzuzeigen. Verwenden Sie die Links Überprüfen, um die Transaktion aufzulösen, deren globale ID mit der Transaktions-ID der Nachricht übereinstimmt.
  4. Wenn die Anzahl abgeschlossener abgehender Nachrichten größer ist als null, wurden Nachrichten von ME2 erzeugt und verarbeitet, aber die Testnachricht ist nicht angekommen. Führen Sie die erzeugende Anwendung erneut aus und stellen Sie sicher, dass sich die Anzahl abgeschlossener abgehender Nachrichten in ME1 erhöht (der Zähler für aktive abgehende Nachrichten kann sich vor dem Zähler für abgeschlossene abgehende Nachrichten erhöhen).
    • Sollte sich an den Zählerwerten nichts ändern, wurde die Nachricht in ME1 nicht erzeugt. Vergewissern Sie sich, dass die erzeugende Anwendung mit der Messaging-Engine verbunden ist. (Informationen hierzu finden Sie im Artikel Die Messaging-Engine bestimmen, mit der eine Anwendung verbunden ist).
    • Wenn sich die Zähler erhöhen, ist die Nachricht in ME2 angekommen, wurde aber entweder konsumiert, an das Ausnahmeziel gesendet oder sie ist verfallen. Stellen Sie fest, ob Konsumenten vorhanden sind, und führen Sie die vorläufigen Tests erneut aus.
  5. Wenn die Anzahl der aktuellen und abgeschlossenen Nachrichten gleich null ist, prüfen Sie, ob die erzeugende Anwendung Nachrichten für dieses Ziel erzeugt, indem Sie die vorläufigen Tests erneut ausführen.

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_arriving_remote
Dateiname:tju_pt2pt_not_arriving_remote.html