Feststellen, warum Publish/Subscribe-Nachrichten nicht bei der Subskription ankommen

Es gibt eine Reihe von Prüfungen, die Sie durchführen können, um festzustellen, warum Publish/Subscribe-Nachrichten nicht bei einer Subskription in einem Service Integration Bus ankommen.

Vorbereitende Schritte

Führen Sie die folgenden vorläufigen Prüfungen durch, bevor Sie mit der eigentlichen Untersuchung beginnen:
  • Vergewissern Sie sich, dass die erzeugende Anwendung die Nachrichten ordnungsgemäß erzeugt:
    • Prüfen Sie, ob die Anwendung Fehler oder Laufzeitfehler generiert.
    • Vergewissern Sie sich, dass der Name des Ziels korrekt ist.
    • Vergewissern Sie sich, dass die Nachrichten erzeugt werden.
    • Vergewissern Sie sich, dass die zum Erzeugen der Nachricht verwendete Transaktion ohne Ausnahme festgeschrieben wurde.
  • Vergewissern Sie sich, dass die konsumierende Anwendung die Nachrichten ordnungsgemäß konsumiert.
    • Vergewissern Sie sich, dass die Anwendung gestartet ist.
    • Vergewissern Sie sich, dass Topic und Selektor für die Subskription korrekt sind. Klicken Sie auf Serviceintegration -> Busse -> Busname -> [Zielressourcen] Ziele -> Name_des_Topicbereichs -> [Nachrichtenpunkte] Veröffentlichungspunkte -> Name_des_Veröffentlichungspunkts -> Laufzeit -> Subskriptionen -> Subskriptionsname, und vergewissern Sie sich, dass die Felder Topic und Selektor den in der Anwendung angegebenen Werten für Topic und Selektor entsprechen.
    • Wenn die Sicherheit aktiviert ist, vergewissern Sie sich, dass die Subskription die erforderliche Berechtigung zum Empfangen der an sie gesendeten Nachrichten besitzt. Weitere Informationen finden Sie in den Artikeln Topicsicherheit und Messaging-Sicherheit.
  • Prüfen Sie, ob in der erzeugenden Anwendung eine zu kurze Verfallszeit für Nachrichten definiert ist. Wenn die Verfallszeit zu kurz ist, verfallen die Nachrichten, bevor sie von der empfangenden Messaging-Engine verarbeitet werden können.
  • Klicken Sie auf Serviceintegration -> Busse -> Busname -> [Zielressourcen] Ziele, um das Ziel im relevanten Bus anzuzeigen. Klicken Sie auf den Topicbereich und vergewissern Sie sich, dass die Kontrollkästchen Senden zulässig und Empfangen zulässig ausgewählt sind.
  • Überprüfen Sie das Ausnahmeziel, um festzustellen, ob die Nachrichten dort vorhanden sind. Falls das Ausnahmeziel Nachrichten enthält, stellen Sie anhand der in den Nachrichten enthaltenen Informationen fest, warum die Nachrichten an das Ausnahmeziel gesendet wurden, und schreiben Sie eine Anwendung (oder Mediation), um die Nachrichten zu verarbeiten.
  • Überprüfen Sie die Zuverlässigkeit der Nachrichten. Wenn als Zuverlässigkeitsstufe "Bestmöglich" definiert ist, können Nachrichten während des normalen Betriebs vom System verworfen werden. Eine Liste der möglichen Ursachen finden Sie im Artikel Informationen zum Löschen von Nachrichten der Zuverlässigkeitsstufe "Bestmöglich, nicht persistent".
  • Suchen Sie in den Fehlerprotokollen nach Ausnahmen.

Informationen zu diesem Vorgang

Führen Sie die folgenden Prüfungen durch, wenn Sie eine Anwendung haben, die Nachrichten für das Topicbereichsziel erzeugt, und eine konsumierende Anwendung die Nachrichten nicht empfängt.

Vorgehensweise

  1. Klicken Sie auf Serviceintegration -> Busse -> Busname -> [Zielressourcen] Ziele, um das Ziel im relevanten Bus anzuzeigen. Klicken Sie auf den zugehörigen Topicbereich und unter Nachrichtenpunkte auf Veröffentlichungspunkte. Klicken Sie auf jeden aufgelisteten Veröffentlichungspunkt und anschließend auf Laufzeit >Subskriptionen, und suchen Sie in der angezeigten Liste nach Ihrer Subskription. Falls Ihre Subskription für keinen der Veröffentlichungspunkte aufgelistet wird, ist der Fehler in der konsumierenden Anwendung zu suchen.
  2. Ermitteln Sie die Messaging-Engines, mit denen die erzeugenden und konsumierenden Anwendungen verbunden sind. Siehe Die Messaging-Engine bestimmen, mit der eine Anwendung verbunden ist.
  3. Wenn die erzeugende Anwendung mit derselben Messaging-Engine wie die konsumierende Anwendung verbunden ist, werden die Nachrichten lokal für den Konsumenten erzeugt. Überprüfen Sie die erzeugenden und konsumierenden Anwendungen erneut und suchen Sie in den Systemprotokollen nach Fehlern.
  4. Wenn die erzeugende Anwendung mit einer anderen Messaging-Engine als die konsumierende Anwendung verbunden ist, werden die Nachrichten über einen fernen Veröffentlichungspunkt weitergeleitet. Informationen zu diesem Szenario finden Sie im Artikel Feststellen, warum Publish/Subscribe-Nachrichten von einer Subskription über einen fernen Nachrichtenpunkt nicht empfangen werden.

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_pubsub_nd
Dateiname:tju_pubsub_nd.html