Comprobación de los resultados de la gestión del dominio de intermediarios utilizando el Proxy del Gestor de configuración con códigos de retorno

Esto forma parte de la tarea global para el desarrollo de las aplicaciones del Proxy del Gestor de configuración (CMP).

Los únicos métodos de cambio de estado que suministran un código de retorno que representa el resultado de la petición son los métodos deploy(). El siguiente ejemplo de código muestra cómo descubrir el resultado de una operación de despliegue de topología usando el objeto DeployResult:
...

TopologyProxy t = cmp.getTopology();

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

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

// Visualizar mensajes de anotaciones globales
Enumeration logEntries = dr.getLogEntries();
while (logEntries.hasMoreElements()) {
    LogEntry le = (LogEntry)logEntries.nextElement();
    System.out.println("General message: " + le.getDetail());
}
            
// Visualizar información específica del intermediario
Enumeration e = dr.getDeployedBrokers();
while (e.hasMoreElements()) {
                
    // Descubrir el intermediario
    BrokerProxy b = (BrokerProxy)e.nextElement();
    
    // Código de terminación para el intermediario
    System.out.println("Result for broker "+b+" = " +
        dr.getCompletionCodeForBroker(b));
                
    // Entradas de anotaciones para el intermediario
    Enumeration e2 = dr.getLogEntriesForBroker(b);
    while (e2.hasMoreElements()) {
        LogEntry le = (LogEntry)e2.nextElement();
        System.out.println("Log message for broker " + b +
            le.getDetail()));
    }
}

En este código, el método deploy() está bloqueado hasta que todos los intermediarios afectados han respondido a la petición de despliegue. No obstante, el método incluye un parámetro long que describe el tiempo máximo que el CMP espera a que lleguen las respuestas.

Tenga en cuenta que cuando finalmente vuelva el método, DeployResult representará el resultado del despliegue en la hora en que volvió el método. En otras palabras, el CMP no actualiza el objeto.

Cuando el método deploy() termine, el ejemplo interrogará a DeployResult devuelto y visualizará el código de terminación global correspondiente a la operación de despliegue. Esto tendrá uno de los siguientes valores:
(com.ibm.broker.config.proxy.)CompletionCodeType.pending
Indica que el despliegue se mantiene en un lote y no se envía hasta que se emite ConfigManagerProxy.sendUpdates(). Recuerde que si este mensaje se aplica se devuelve inmediatamente, es decir, sin esperar a que transcurra el periodo de tiempo de espera excedido.
CompletionCodeType.submitted
Indica que el mensaje de despliegue se envió al Gestor de configuración pero no se recibió ninguna respuesta antes de que pasara el tiempo de espera excedido. Recuerde que si el mensaje de despliegue no puede enviarse al Gestor de configuración, en su lugar se generará una excepción ConfigManagerProxyLoggedException en el momento del despliegue.
CompletionCodeType.initiated
Indica que el Gestor de configuración ha contestado indicando que el despliegue se ha iniciado, pero que no recibieron respuestas del intermediario antes de que se excediera el tiempo de espera.
CompletionCodeType.successSoFar
Indica que el Gestor de configuración emitió la petición de despliegue y que algunos, no todos, intermediarios respondieron con un mensaje de "realización correcta" antes de que se excediese el tiempo de espera. Ningún intermediario respondió negativamente.
CompletionCodeType.success
Indica que el Gestor de configuración emitió la petición de despliegue y que todos los intermediarios pertinentes respondieron correctamente antes de que se excediese el tiempo de espera. Este mensaje se envía tan pronto como todos los intermediarios pertinentes han respondido correctamente.
CompletionCodeType.failure
Indica que el Gestor de configuración emitió la petición de despliegue y que un intermediario como mínimo respondió negativamente.
Recuerde que no todos los códigos de terminación se aplican a todos los despliegues. Por ejemplo, el despliegue para un solo intermediario específico no puede tener como resultado un código de terminación 'successSoFar'.

A continuación, el ejemplo visualiza cualquier mensaje del registro procedente del despliegue que no puede atribuirse a ningún intermediario específico. En un despliegue correcto, estos mensajes incluyen siempre una entrada "deploy initiated" procedente del Gestor de configuración, incluso si el despliegue concluyó posteriormente.

Finalmente, el ejemplo visualiza el código de terminación y todos los mensajes de anotaciones específicos de cada intermediario afectado por el despliegue. Tenga en cuenta que en un despliegue de topología o de árbol de temas son todos los intermediarios del dominio.

El conjunto de códigos de terminación aplicables a una respuesta desde un intermediario específico es:
CompletionCodeType.pending
Indica que el despliegue se mantiene en un lote y no se envía hasta que se emite ConfigManagerProxy.sendUpdates().
CompletionCodeType.submitted
Indica que el mensaje de despliegue se envió pero no se ha recibido aún ninguna respuesta del Gestor de configuración indicando que se ha iniciado el despliegue.
CompletionCodeType.initiated
Indica que el Gestor de configuración ha contestado indicando que el despliegue se ha iniciado, pero que el intermediario no ha devuelto aún ninguna respuesta.
CompletionCodeType.success
Indica que el Gestor de configuración emitió la petición de despliegue y que el intermediario aplicó correctamente los cambios en el despliegue.
CompletionCodeType.failure
Indica que el Gestor de configuración emitió la petición de despliegue y que el intermediario respondió indicando que el despliegue no se había realizado correctamente. Utilice getLogEntriesForBroker() si desea ver más información sobre los motivos por los cuales el despliegue no se ha ejecutado correctamente.
CompletionCodeType.notRequired
Indica que se ha enviado una petición de despliegue al Gestor de configuración que implicaba al intermediario facilitado, pero que no se ha enviado una respuesta al intermediario porque su configuración ya está actualizada.
Consulte el apartado Ejecución del ejemplo de despliegue de BAR o el método Ejecución del ejemplo de gestión de dominio de intermediarios CMPAPIExerciser.reportDeployResult() donde encontrará ejemplos para el análisis de objetos DeployResult.
Tareas relacionadas
Comprobación de los resultados de la gestión del dominio de intermediarios utilizando el Proxy del Gestor de configuración
Comprobación de los resultados de la gestión de dominios de intermediarios utilizando el Proxy del Gestor de configuración con el último código de terminación
Comprobación de los resultados de la gestión de dominio de intermediarios utilizando el Proxy del Gestor de configuración con notificación de objetos
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ae33070_