Ermitteln Sie mithilfe des aktuellsten Beendigungscode das Ergebnis einer Anforderung, die von Ihrer Anwendung an das Objekt gestellt wurde.
GregorianCalendar oldCCTime =
b.getTimeOfLastCompletionCode();
b.setLongDescription(newDesc);
GregorianCalendar newCCTime = oldCCTime;
while ((newCCTime == null) || (newCCTime.equals(oldCCTime))) {
newCCTime = b.getTimeOfLastCompletionCode());
Thread.sleep(1000);
}
CompletionCodeType ccType = b.getLastCompletionCode();
if (ccType == CompletionCodeType.success) {
// etc.
}
In diesem Beispiel ermittelt die Anwendung zunächst mit der Methode getTimeOfLastCompletionCode(), wann zuletzt eine Aktion auf dem Broker beendet wurde. Mit dieser Methode wird die Uhrzeit zurückgegeben, zu der die Topologie zuletzt einen Beendigungscode bzw., falls kein Rückkehrcode empfangen wurde, einen Nullwert empfangen hat. Die Anwendung aktualisiert die Eigenschaft LongDescription des Brokers und überwacht dann fortlaufend die Topologie auf Ergebnisse, die vom Befehl setLongDescription() an den Konfigurationsmanager-Proxy zurückgegeben werden. Wenn die Ergebnisse geliefert werden, unterbricht die Steuerung die while-Schleife und der letzte Beendigungscode wird ermittelt.
Dieser Algorithmus eignet sich weder für Multithread-Anwendungen noch zur Feststellung des Ergebnisses von Befehlen, da die Konfigurationsmanager-Proxy-Anwendung warten muss, wenn der Broker die Anforderung verarbeitet.
Wenn Sie eine effizientere Anwendung und eine Anwendung wünschen, die sich besser für eine Multithread-Umgebung eignet, codieren Sie die Alternativlösung, bei der Benachrichtigungen über die verwalteten Objekte genutzt werden; weitere Informationen finden Sie im Abschnitt Ergebnisse der Brokerverwaltung mit Objektbenachrichtigung in einer Konfigurationsmanager-Proxy-Anwendung überprüfen.
Eigenschaftsänderungen können auch synchron mit der Methode BrokerProxy.setSynchronous() durchgeführt werden. Wenn Sie synchrone Eigenschaftsänderungen vornehmen, liefern Methoden wie beispielsweise setLongDescription() erst dann ein Ergebnis, wenn die Änderung vom Broker verarbeitet wurde. Sie finden weitere Informationen zu synchronen Eigenschaftsänderungen in der Beschreibung der Methode BrokerProxy.setSynchronous()) in den Javadoc-Informationen zur CMP-API.