Fehler beim Implementieren von Nachrichtenflüssen beheben

  1. Um Fehler beim Implementieren zu beheben, müssen Sie folgende Protokolle überprüfen:
    • Das Ereignisprotokoll der Brokerdomäne
    • Das lokales Fehlerprotokoll (Windows-Ereignisprotokoll oder das Systemprotokoll)
    • Die WebSphere MQ-Protokolle

    Diese Protokolle befinden sich möglicherweise auf unterschiedlichen Systemen und müssen in Verbindung mit der Ausgabe der Workbench verwendet werden, um sicherzustellen, dass die Implementierung erfolgreich war.

    Verwenden Sie den Befehl mqsilist, um zu überprüfen, ob die Implementierung erfolgreich war, oder schauen Sie im Windows-Ereignisprotokoll bzw. im Ereignisprotokoll der Brokerdomäne nach.

  2. Verwenden Sie folgende Checkliste, wenn Sie Implementierungsprobleme haben:
    • Vergewissern Sie sich, dass der ferne Warteschlangenmanager aktiv ist.
    • Vergewissern Sie sich, dass die Kanäle aktiv sind.
    • Zeigen Sie den Kanalstatus an, um zu sehen, ob sich die Anzahl der gesendeten Systemnachrichten erhöht.
    • Überprüfen Sie den Kanal vom fernen Ende aus.
    • Überprüfen Sie den Namen des Warteschlangenmanagers.
    • Stellen Sie fest, ob der Kanal ein Clusterkanal ist.

Dieses Thema enthält Lösungsvorschläge für einige häufig auftretende Probleme, die beim Implementieren von Nachrichtenflüssen oder Nachrichtengruppen entstehen können.
Vorbereiten der Implementierung:
Während der Implementierung:
Implementierung abbrechen:
Nach der Implementierung:

Migrierte Nachrichtenflüsse sind nicht zum Hinzufügen in ein Brokerarchiv verfügbar

Sie können eine Brokerarchivdatei nicht durch Drag-and-drop an einen Broker übergeben

Die kompilierte Nachrichtenflussdatei (CMF-Datei) wurde nicht generiert

Der Nachrichtenfluss wird auf dem Testsystem implementiert, aber anderswo nicht

Ihre Implementierung gibt an, dass der Broker nicht vorhanden ist

Der Konfigurationsmanager versucht, eine Implementierung in einem Broker durchzuführen, der nicht vorhanden ist

Der Konfigurationsmanager hat die Speicherkapazität überschritten

Beim Implementieren unter z/OS werden Fehlernachrichten ausgegeben

Die erwartete serielle Verarbeitung der Eingabe findet für eine gemeinsam genutzte Warteschlange, die mehrere Instanzen eines Nachrichtenflusses unter z/OS bedient, nicht statt

MQe-Knoten funktionieren nach dem Implementieren in einem Broker mit Version 6.0 nicht mehr so wie erwartet.

Beim Implementieren werden Fehlernachrichten ausgegeben

Die Fehlernachrichten, die möglicherweise während einer Implementierung generiert werden, sind im Folgenden zusammen mit Erläuterungen aufgelistet:

Nachricht BIP1536
  • Szenario: Sie haben den Konfigurationsmanager für die Ausführung mit einer Benutzer-ID und einen Broker für die Ausführung auf einem anderen System mit einer anderen Benutzer-ID definiert. Die Implementierung erfolgt zwar, aber wenn sie Nachrichtenflüsse und im Broker implementieren, wird Fehlernachricht BIP1536 ausgegeben.
  • Erläuterung: Der Konfigurationsmanager kann keine internen Subskriptionen im Broker eintragen, weil der Broker unter einer anderen Benutzer-ID als der Konfigurationsmanager ausgeführt wird. Interne Nachrichten werden zwischen dem Broker und dem Konfigurationsmanager über die Funktion Publish/Subscribe weitergeleitet. Diese Nachrichten werden durch WebSphere MQ übertragen, für das bestimmte Berechtigungen erforderlich sind.
  • Lösung:
    • Stellen Sie sicher, dass die Benutzer-ID des Brokers zu den Gruppen mqm und mqbrkrs gehört.
    • Definieren Sie die Benutzer-ID des Brokers auf dem System, auf dem der Konfigurationsmanager ausgeführt wird.
    • Definieren Sie die Benutzer-ID des Konfigurationsmanagers auf dem System, auf dem der Broker ausgeführt wird.
    • Stellen Sie sicher, dass alle IDs in Kleinbuchstaben geschrieben wurden, damit sie auf den verschiedenen Systemen kompatibel sind.
Nachricht BIP1536 mit NachrichtBIP7017
  • Szenario: Sie erhalten die Fehlernachrichten BIP1536 und BIP7017.
  • Erläuterung: Bei der Registrierung der internen Subskriptionen des Konfigurationsmanager für Themen, die die Statusänderung des Brokers betreffen, die jedes Mal versucht wird, wenn Sie eine vollständige Konfiguration implementieren, tritt ein Fehler auf. Die Ursache des Problems wird durch die Nachricht BIP7017 angezeigt. In dieser Nachricht wird angegeben, dass die Implementierung mit einem konfigurierten Benutzernamensserver ausgeführt wird, dass jedoch im Benutzercache des Brokers, den Sie implementieren, nicht die Servicebenutzer-ID des Konfigurationsmanagers enthalten ist.
  • Lösung: Führen Sie folgende Überprüfungen durch. Wenn Sie den Fehler identifizieren und beheben, werden die Subskriptionen bei der nächsten Implementierung richtig registriert:
    • Stellen Sie sicher, dass der Benutzernamensserver-Broker gestartet ist.
    • Stellen Sie sicher, dass die WebSphere MQ-Kanäle zwischen dem Benutzernamensserver und dem Broker gestartet sind.
    • Stellen Sie sicher, dass die Benutzer-ID in der Domäne des Benutzernamensservers vorhanden ist.
Nachricht BIP2045
  • Szenario: Fehlernachricht BIP2045 wird angezeigt.
  • Erläuterung: Diese Nachricht besagt, dass ein Versuch unternommen wurde, einen Broker einem zweiten (bzw. erneut initialisierten)Konfigurationsmanager zuzuordnen.

    Jeder Broker wird durch eine global eindeutige ID (UUID: universally unique identifier) identifiziert, welche zugewiesen wird, wenn Message Brokers Toolkit bzw. Konfigurationsmanager-Proxy eine Definition für den Broker erstellen. Wenn die Implementierung erfolgt, wird eine UUID-Überprüfung durchgeführt, um einer versehentlichen Implementierung von Änderungen in Brokern vorzubeugen, die sich nicht unter Kontrolle des Konfigurationsmanagers befinden. Wenn Sie den Fehler BIP2045 empfangen haben, ist die Implementierungsnachricht an einen Broker mit einer UUID adressiert worden, aber von einem Broker verarbeitet worden, der eine andere UUID erwartet hat.

  • Lösung: Schicken Sie, wenn möglich, die Implementierungsanforderung erneut ab, und zwar, indem Sie den Konfigurationsmanager verwenden, der dieser Broker verwaltet.

    Wenn das nicht möglich ist, verwenden Sie die Konfigurationsmanager-Proxy-API-Methode BrokerProxy.setUUID(), um als UUID in der Broker-Definition des Konfigurationsmanagers diejenige UUID zu setzen, die der Broker erwartet. Diese API kann auch mit dem API-Mustertestprogramms Konfigurationsmanager-Proxy aufgerufen werden.

    Der Aufruf dieser Methode erlaubt dem Konfigurationsmanager die Implementierung bei diesem Broker, wenngleich Ressourcen, die vorher bei diesem Broker implementiert worden sind, nicht vom Konfigurationsmanager überwacht werden (es sei denn, sie wurden ohnehin schon überwacht).

    Wenn die Implementierung immer noch nicht möglich ist, befolgen Sie diese Schritte:
    1. Löschen Sie die Broker-Komponente, ihre Konfigurationstabellen und ihren Warteschlangenmanager.
    2. Entfernen Sie die Broker-Definition mit Message Brokers Toolkit oder Konfigurationsmanager-Proxy aus der Domäne.
    3. Implementieren Sie die Topologie erneut.
    4. Erstellen Sie die Brokerkomponente erneut und fügen Sie mit Message Brokers Toolkit oder Konfigurationsmanager-Proxy einen Verweis auf sie hinzu.
    5. Implementieren Sie betroffene Ressourcen erneut beim Broker.

    Um zu verhindern, dass dieses Problem erneut auftaucht, wenn Sie Broker löschen oder erneut erstellen, entfernen Sie stets die Brokerdefinition aus der Domäne, und implementieren Sie die Topologie erfolgreich,bevor die laufende Brokerkomponente gestoppt und gelöscht wird.

Fehler BIP2066
  • Szenario: Fehlernachricht BIP2066 wird angezeigt.
  • Erläuterung: Die Implementierungsanforderung wurde von der Ausführungsgruppe nicht bestätigt, bevor das Brokerzeitlimit Konfigurationszeitlimit plus der Konfigurationszeitlimitverzögerung (Standardwert 60 Sekunden) abgelaufen war.
  • Lösung: Ändern Sie diese Zeitlimits mit Hilfe der Flags -g und -k der Befehle mqsicreatebroker und mqsichangebroker.
Fehler BIP2242
  • Szenario: Die Fehlernachricht BIP2242 wird angezeigt.
  • Erläuterung: Die Implementierungs- bzw. Konfigurationsänderungsanforderung wurde nicht akzeptiert, bevor das Brokerzeitlimit Konfigurationszeitlimit (Standardwert 300 Sekunden) abgelaufen war. Das Zeitlimit muss so lang sein, dass der Nachrichtenfluss die Verarbeitung der aktuellen Nachricht abschließen kann und dann die Implementierungsanforderung akzeptieren kann.
  • Lösung: Weitere Informationen zum Festlegen dieser Zeitlimits mit den Markierungen -g und -k der Befehle mqsicreatebroker und mqsichangebroker finden Sie im Abschnitt Befehle.

Bei einem Abbruch des Implementierens wird in mqsilist zwar ein Nachrichtenfluss in einer Ausführungsgruppe, jedoch nicht in den Tools angezeigt.

Das Ergebnis einer Implementierung wird Ihnen nicht mitgeteilt

Sie erhalten nicht die Bestätigung, dass die Implementierung erfolgreich war

Sie können keine implementierten Nachrichtenflüsse sehen

Ein gelöschter Broker bleibt im Domänennavigator

Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
au16540_