Fehler beim Entwickeln von Anwendungen für den
Konfigurationsmanager-Proxy beheben
Dieser Abschnitt hilft Ihnen bei der Behandlung einiger Probleme, die bei der Entwicklung von Anwendungen für das Konfigurationsmanager-Proxy auftreten können:
Die Konfigurationsmanager-Proxy-Anwendung ist blockiert, wenn der Konfigurationsmanager nicht verfügbar ist
Szenario: Wenn der Konfigurationsmanager nicht verfügbar ist, ist die Konfigurationsmanager-Proxy- Anwendung blockiert.
Erläuterung: Die Datenübertragung zwischen dem Konfigurationsmanager-Proxy und dem Konfigurationsmanager ist asynchron, deshalb blockiert das Konfigurationsmanager-Proxy, da es auf eine Nachricht vom Konfigurationsmanager wartet.
Lösung: Konfigurieren Sie die maximale Zeitspanne, während der das Konfigurationsmanager-Proxy wartet, mit folgender Methode:
// Wait for a maximum of 10 seconds
ConfigManagerProxy.setRetryCharacteristics(10000);
Dadurch wird die Zeit in Millisekunden angegeben, während der das
Konfigurationsmanager-Proxy auf Informationen wartet, bevor die Ausnahmebedingung ConfigManagerProxyPropertyNotInitializedException ausgegeben wird.
Wenn das Zeitlimit zu niedrig angesetzt wird, kann eine Ausnahmebedingung ausgelöst werden, obwohl der Konfigurationsmanager verfügbar ist.
Sie haben eine Eigenschaft eines Objekts angegeben und den Wert abgefragt, doch der Wert hat sich nicht geändert
Szenario: Sie haben eine Eigenschaft eines Objekts angegeben und anschließend den Wert abgefragt; doch der Wert hat sich nicht geändert.
Erläuterung: Methoden, durch die die Eigenschaften von Domänenobjekten geändert werden, werden nicht unverzüglich verarbeitet. Wenn Sie in einem Konfigurationsmanager-Proxy-Objekt eine Methode zur Änderung einer Eigenschaft aufrufen, sendet das Konfigurationsmanager-Proxy eine Nachricht an den Konfigurationsmanager und fordert ihn zur Ausführung der angeforderten Änderung auf. Der Konfigurationsmanager verarbeitet die Anfrage asynchron und benachrichtigt beim Versuch, die Änderung durchzuführen, alle AdministeredObjectListeners des betroffenen Objekts.
Lösung: Methoden zur Statusänderung werden normalerweise nach dem Einreihen der Anforderung in die Warteschlange des Konfigurationsmanagers zurückgegeben, oder sobald die Anforderung nach einem Aufruf des Befehls ConfigManagerProxy.beginUpdates() zum aktuellen Stapel hinzugefügt wurde. Wenn die Eigenschaft nach der Rückgabe der Antwort auf die Anfrage zum Konfigurationsmanager-Proxy noch immer nicht aktualisiert wurde, überprüfen Sie die Antwortnachricht auf weitere Einzelheiten.
Sie können keine Verbindung zu einem Konfigurationsmanager mithilfe von .CONFIGMGR-Dateien herstellen
Szenario: Sie können keine Verbindung zu einem Konfigurationsmanager mithilfe von .CONFIGMGR-Dateien herstellen.
Erläuterung: Durch die Klasse MQPropertyFileConfigManagerConnectionParameters wird die Verbindung von
Konfigurationsmanager-Proxy-Anwendungen zu Konfigurationsmanagern mithilfe einer .configmgr-Erweiterung ermöglicht, obwohl für diese Funktion ein XML-Parser erforderlich ist.
Lösung: Stellen Sie sicher, dass auf der CLASSPATH-Variablen ein unterstützter Parser verfügbar ist. Das Produkt wird mit einem unterstützten Parser geliefert.
Alternativ dazu können Sie statt der Klasse MQPropertyFileConfigManagerConnectionParameters die Klasse MQConfigManagerConnectionParameters verwenden.
Damit können Sie Konfigurationsmanager verbinden, indem Sie den Hostnamen, den Namen des Warteschlangenmanagers und den Port für die Zieladresse des Konfigurationsmanagers direkt angeben.
Bei dieser Methode ist kein XML-Parser erforderlich.
Sie haben versucht, einen Broker zwischen zwei
Konfigurationsmanagern zu verschieben, und können jetzt die Ressourcen
des Brokers nicht mehr anzeigen.
Szenario: Sie haben versucht, mit der Methode 'BrokerProxy.setUUID()'
einen Broker von einem Konfigurationsmanager auf einen anderen zu
verschieben, und können jetzt die Ausführungsgruppen, Nachrichtenflüsse Nachrichtengruppen und Subskriptionen des Brokers nicht
mehr anzeigen.
Erläuterung: Dies ist eine Einschränkung der Methode 'setUUID()'.
Lösung: Entfernen Sie alle implementierten Ressourcen und setzen Sie
sie erneut auf dem Broker ein.