Ergebnisse der Brokerdomänenverwaltung unter Verwendung des Konfigurationsmanager-Proxys mit Rückkehrcodes überprüfen

Dies ist eine der Tasks, die in Zusammenhang mit der Entwicklung Ihrer Konfigurationsmanager-Proxy-Anwendungen ausgeführt werden.

Die einzigen Methoden zur Statusänderung, die einen Rückkehrcode mit dem Ergebnis der Anforderung zurückgeben, sind die deploy()-Methoden. Mit dem folgenden Beispielcode wird veranschaulicht, wie das Ergebnis einer Topologieimplementierung unter Verwendung des zurückgegebenen Objekts DeployResult festgestellt werden kann:
...

TopologyProxy t = cmp.getTopology();

boolean isDelta = true;
long timeToWaitMs = 10000;
DeployResult dr = topology.deploy(isDelta, timeToWaitMs);

System.out.println("Overall result = "+dr.getCompletionCode());

// Display overall log messages
Enumeration logEntries = dr.getLogEntries();
while (logEntries.hasMoreElements()) {
    LogEntry le = (LogEntry)logEntries.nextElement();
    	System.out.println("General message: " + le.getDetail());
}
            
// Display broker specific information
Enumeration e = dr.getDeployedBrokers();
while (e.hasMoreElements()) {
                
    // Den Broker ausfindig machen
    	BrokerProxy b = (BrokerProxy)e.nextElement();
    
    // Beendigungscode für den Broker
    	System.out.println("Result for broker "+b+" = " +
        dr.getCompletionCodeForBroker(b));
                
    	// Log entries for broker
    Enumeration e2 = dr.getLogEntriesForBroker(b);
    	while (e2.hasMoreElements()) {
        LogEntry le = (LogEntry)e2.nextElement();
        		System.out.println("Log message for broker " + b +
            			le.getDetail()));
    }
}

In diesem Code wird die Methode deploy() blockiert, bis alle betroffenen Broker auf die Implementierungsanforderung geantwortet haben. Die Methode enthält jedoch einen Parameter long, der die maximale Wartezeit des CMPs angibt.

Hinweis: Wenn die Methode einen Wert zurückgibt, entspricht DeployResult dem Ergebnis der Implementierung zu dem Zeitpunkt, als die Methode den Wert zurückgegeben hat. Wenn der Wert an die Anwendung zurückgegeben wird, wird das Objekt also vom CMP nicht aktualisiert.

Wenn die Methode deploy() vollständig ausgeführt wurde, wird im Beispiel das zurückgegebene Ergebnis DeployResult abgefragt und der Gesamtbeendigungscode für die Implementierungsoperation angezeigt. Dieser kann die folgenden Werte annehmen:
(com.ibm.broker.config.proxy.)CompletionCodeType.pending
Die Implementierung befindet sich in einer Warteschleife und wird erst gesendet, wenn Sie den Befehl ConfigManagerProxy.sendUpdates() ausführen. Hinweis: Diese Nachricht wird sofort, d. h. vor Ablauf des Zeitlimits, zurückgegeben.
CompletionCodeType.submitted
Die Implementierungsnachricht wurde an den Konfigurationsmanager gesendet, jedoch wurde das Zeitlimit für den Empfang einer Antwort überschritten. Wenn die Implementierungsnachricht nicht an den Konfigurationsmanager gesendet werden kann, wird stattdessen die Ausnahmebedingung ConfigManagerProxyLoggedException beim Implementieren ausgegeben.
CompletionCodeType.initiated
Der Konfigurationsmanager hat eine Antwort gesendet, in der angezeigt wird, dass die Implementierung gestartet wurde. Es wurden jedoch keine Brokerantworten vor Ablauf des Zeitlimits empfangen.
CompletionCodeType.successSoFar
Der Konfigurationsmanager hat die Implementierungsanforderung ausgegeben, und einige, jedoch nicht alle Broker haben vor Ablauf des Zeitlimits die Nachricht zurückgegeben, dass die Implementierung erfolgreich war. Es wurden keine negativen Antworten von Brokern empfangen.
CompletionCodeType.success
Der Konfigurationsmanager hat eine Implementierungsanforderung ausgegeben, und alle relevanten Broker haben eine positive Nachricht vor Ablauf des Zeitlimits zurückgegeben. Diese Nachricht wird angezeigt, sobald alle relevanten Broker eine positive Antwort zurückgegeben haben.
CompletionCodeType.failure
Der Konfigurationsmanager hat eine Implementierungsaufforderung ausgegeben, und mindestens ein Broker hat eine negative Antwort zurückgegeben.
Hinweis: Die Beendigungscodes gelten nicht für alle Implementierungsvorgänge. Beispiel: Bei Ausführung eines Implementierungsvorgangs für einen einzelnen Broker wird der Beendigungscode 'successSoFar' nicht zurückgegeben.

Im nachfolgenden Beispiel werden Protokollnachrichten angezeigt, die in Zusammenhang mit der Implementierung stehen und nicht einem bestimmten Broker zugeordnet werden können: Bei einem erfolgreichen Implementierungsvorgang enthalten diese Nachrichten stets den Protokolleintrag "deploy initiated" (Implementierung eingeleitet), der vom Konfigurationsmanager stammt, auch wenn der Implementierungsvorgang anschließend abgeschlossen wurde.

Schließlich werden für alle Broker, die von der Implementierung betroffen sind, der Beendigungscode und Broker-spezifische Protokollnachrichten angezeigt. Beachten Sie, dass dies Bei einer Topologie- bzw. Themenstrukturimplementierung für alle Broker in der Domäne gilt.

Im Folgenden sind die Beendigungscodes aufgelistet, die in Zusammenhang mit einer Antwort eines bestimmten Brokers stehen:
CompletionCodeType.pending
Die Implementierung befindet sich in einer Warteschleife und wird erst gesendet, wenn Sie den Befehl ConfigManagerProxy.sendUpdates() ausführen.
CompletionCodeType.submitted
Die Implementierungsnachricht wurde gesendet, jedoch wurde noch keine Antwort vom Konfigurationsmanager zurückgegeben, die besagt, dass der Implementierungsvorgang eingeleitet wurde.
CompletionCodeType.initiated
Der Konfigurationsmanager hat eine Antwort gesendet, in der angezeigt wird, dass die Implementierung gestartet wurde. Es wurden jedoch keine Brokerantworten empfangen.
CompletionCodeType.success
Der Konfigurationsmanager hat eine Implementierungsanforderung ausgegeben, und der Broker hat die Implementierungsänderungen erfolgreich ausgeführt.
CompletionCodeType.failure
Der Konfigurationsmanager hat eine Implementierungsanforderung ausgegeben, und der Broker hat als Antwort zurückgegeben, dass der Implementierungsvorgang fehlgeschlagen ist. Führen Sie den Befehl getLogEntriesForBroker() aus, um weitere Informationen zur fehlgeschlagenen Implementierung anzuzeigen.
CompletionCodeType.notRequired
An den Konfigurationsmanager, der dem Broker zugeordnet ist, wurde eine Implementierungsanforderung gesendet. Die Anforderung wurde jedoch nicht an den Broker übergeben, da seine Konfiguration bereits aktualisiert worden ist.
Im Das Beispielprogramm 'Deploy BAR' ausführen oder Das Beispielprogramm 'Brokerdomänenverwaltung' ausführen (MEthode CMPAPIExerciser.reportDeployResult()) findenn Sie Beispiele zum syntaktischen Analysieren von DeployResult-Objekten.
Zugehörige Tasks
Ergebnisse der Brokerdomänenverwaltung unter Verwendung des Konfigurationsmanager-Proxys überprüfen
Überprüfung der Ergebnisse der Brokerdomänenverwaltung unter Verwendung des Konfigurationsmanager-Proxys mit dem letzten Beendigungscode
Ergebnisse der Brokerdomänenverwaltung unter Verwendung des Konfigurationsmanager-Proxys mit Objektbenachrichtigung überprüfen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ae33070_