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.getLotEntriesForBroker(b); while (e2.hasMoreElements()) { LogEntry le = (LogEntry)e2.nextElement(); System.out.println("Log message for broker " + b + le.getDetail())); } }Il metodo deploy() si blocca fino a quando tutti i broker interessati non hanno risposto alla richiesta di distribuzione.
Quando il metodo ritorna, DeployResult rappresenta il risultato della distribuzione nel momento in cui il metodo è ritornato; l'oggetto non viene aggiornato da Proxy di Gestione configurazione.
Se non è possibile inviare il messaggio di distribuzione a Gestione configurazione, viene generata un'eccezione ConfigManagerProxyLoggedException al momento della distribuzione. Se Gestione configurazione riceve il messaggio di distribuzione, vengono visualizzati i messaggi della registrazione per la distribuzione generale, seguiti dai codici di completamento specifici di ciascun broker interessato dalla distribuzione. Il codice di completamento è una delle seguenti istanze statiche dalla classe com.ibm.broker.config.proxy.CompletionCodeType:
Codice di completamento | Descrizione |
---|---|
pending | La distribuzione è bloccata in un batch e non viene inviata fino a quando non si immette ConfigManagerProxy.sendUpdates(). |
submitted | Il messaggio di distribuzione è stato inviato a Gestione configurazione, ma non è stata ricevuta alcuna risposta prima del timeout. |
initiated | Gestione configurazione ha risposto che la distribuzione è stata avviata, ma non è stata ricevuta alcuna risposta del broker prima del timeout. |
successSoFar | Gestione configurazione ha inoltrato la richiesta di distribuzione ed alcuni broker, ma non tutti, hanno risposto con un messaggio di esito positivo prima della scadenza del timeout. Nessun broker ha risposto in modo negativo. |
success | Gestione configurazione ha inviato la richiesta di distribuzione e tutti i broker hanno risposto con esito positivo prima della scadenza del timeout. |
failure | Gestione configurazione ha inviato la richiesta di distribuzione ed almeno un broker ha risposto in modo negativo. È possibile utilizzare getLogEntriesForBroker per ulteriori informazioni relative ai motivi per cui la distribuzione non ha avuto esito positivo. |
notRequired | È stata inoltrata una richiesta di distribuzione a Gestione configurazione che riguardava il broker indicato, ma la richiesta non è stata inviata al broker perché la relativa configurazione è già aggiornata. |