Verifica dei risultati della gestione del dominio broker mediante Proxy di Gestione configurazione con codici di ritorno

Questa sezione fa parte dell'attività più ampia di sviluppo delle applicazioni CMP (Configuration Manager Proxy/Proxy di Gestione configurazione).

Gli unici metodi di modifica dello stato che forniscono un codice di ritorno che rappresenta il risultato della richiesta sono i metodi deploy(). L'esempio di codice riportato di seguito illustra come rilevare il risultato di un'operazione di distribuzione della topologia mediante l'oggetto DeployResult restituito:
...

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()) {
                
    // Discover the broker
    BrokerProxy b = (BrokerProxy)e.nextElement();
    
    // Completion code for 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 questo codice, il metodo deploy() è bloccato fino a quando tutti i broker interessati hanno risposto alla richiesta di distribuzione. Tuttavia, il metodo include un parametro long che descrive l'intervallo di attesa massimo di CMP per l'arrivo delle risposte.

Notare che quando il metodo ritorna, DeployResult rappresenta il risultato della distribuzione nel momento in cui il metodo è ritornato. In altre parole, una volta tornato all'applicazione, l'oggetto non è aggiornato da CMP.

Una volta completato il metodo deploy(), viene eseguita un'interrogazione a DeployResult restituito e viene visualizzato il codice di completamento generale per l'operazione di distribuzione. Questo può essere uno dei seguenti valori:
(com.ibm.broker.config.proxy.)CompletionCodeType.pending
Indica che la distribuzione è bloccata in un batch e non viene inviata fino a quando non si immette ConfigManagerProxy.sendUpdates(). Notare che se questo messaggio viene applicato, viene restituito immediatamente, senza attendere la scadenza del periodo di timeout.
CompletionCodeType.submitted
Indica che il messaggio di distribuzione è stato inviato a Gestione configurazione ma non è stata ricevuta alcuna risposta prima del timeout. Notare che se non è possibile inviare il messaggio di distribuzione a Gestione configurazione, al momento della distribuzione viene generata l'eccezione ConfigManagerProxyLoggedException.
CompletionCodeType.initiated
Indica che Gestione configurazione ha risposto che la distribuzione è stata avviata, ma che non è stata ricevuta alcuna risposta del broker prima del timeout.
CompletionCodeType.successSoFar
Indica che Gestione configurazione ha inoltrato la richiesta di distribuzione ed alcuni broker, ma non tutti, hanno risposto con messaggio di esito positivo prima della scadenza del timeout. Nessun broker ha risposto in modo negativo.
CompletionCodeType.success
Indica che Gestione configurazione ha inviato la richiesta di distribuzione e tutti i broker hanno risposto correttamente prima della scadenza dell'intervallo di timeout. Questo messaggio viene inviato appena tutti i broker hanno risposto in modo corretto.
CompletionCodeType.failure
Indica che Gestione configurazione ha inviato la richiesta di distribuzione e che almeno un broker ha risposto in modo negativo.
Notare che non tutti i codici di completamento vengono applicati a tutte le distribuzioni. Ad esempio, la distribuzione ad un singolo broker specifico non può restituire un codice di completamento uguale a 'successSoFar'.

L'esempio quindi visualizza i messaggi di registrazione dalla distribuzione che non possono essere attribuiti a nessun broker specifico. In seguito ad una distribuzione eseguita correttamente, tali messaggi contengono sempre una voce di registrazione "deploy initiated" originata da Gestione configurazione, anche se la distribuzione è stata completata successivamente.

Infine, l'esempio visualizza il codice di completamento ed i messaggi di registrazione specifici di ciascun broker interessato dalla distribuzione. Notare che in una distribuzione della struttura degli argomenti o della topologia, sono inclusi tutti i broker del dominio.

L'insieme dei codici di completamento applicabili ad una risposta da un broker specifico sono:
CompletionCodeType.pending
Indica che la distribuzione è bloccata in un batch e non viene inviata fino a quando non si immette ConfigManagerProxy.sendUpdates().
CompletionCodeType.submitted
Indica che il messaggio di distribuzione è stato inviato ma non è stata ancora ricevuta alcuna risposta da Gestione configurazione che indica che la distribuzione è stata avviata.
CompletionCodeType.initiated
Indica che Gestione configurazione ha risposto, indicando che la distribuzione è stata avviata, ma non è stata ancora restituita alcuna risposta dal broker.
CompletionCodeType.success
Indica che Gestione configurazione ha inviato la richiesta di distribuzione ed il broker ha applicato le modifiche alla distribuzione.
CompletionCodeType.failure
Indica che Gestione configurazione ha inviato la richiesta di distribuzione ed il broker ha indicato che la distribuzione non ha avuto esito positivo. Utilizzare getLogEntriesForBroker() per ulteriori informazioni relative ai motivi per cui la distribuzione non ha avuto esito positivo.
CompletionCodeType.notRequired
Indica che è stata inoltrata una richiesta di distribuzione a Gestione configurazione che riguardava il broker fornito, ma la richiesta non è stata inviata al broker perché la relativa configurazione è già aggiornata.
Consultare Esecuzione dell'esempio Distribuisci BAR oppure Esecuzione dell'esempio di gestione del dominio broker metodo CMPAPIExerciser.reportDeployResult() per esempi relativi all'analisi degli oggetti DeployResult.
Attività correlate
Verifica dei risultati della gestione del dominio broker mediante Proxy di Gestione configurazione
Verifica dei risultati della gestione del dominio broker mediante Proxy di Gestione configurazione con l'ultimo codice di completamento
Verifica dei risultati della gestione del dominio broker mediante Proxy di Gestione configurazione con notifica dell'oggetto
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ae33070_