WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Comprobación de los resultados de la gestión de intermediarios con el código de terminación más reciente en una aplicación CMP

Utilice el código de terminación más reciente de un objeto para determinar el resultado de una solicitud que su aplicación haya realizado sobre dicho objeto.

La mayoría de los métodos de la API de CMP que cambian el estado no proporcionan un código de retorno que indique el éxito o el fracaso de una determinada acción. Para estos métodos, debe escribir código diferente para descubrir el resultado de la acción. Suponiendo que los objetos administrados no se comparten en las hebras, se puede utilizar el siguiente fragmento de código para descubrir el resultado de una solicitud para modificar la LongDescription de un intermediario, siendo b una instancia de un objeto BrokerProxy:
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.
}

En este ejemplo, la aplicación determina inicialmente cuando se ha realizado por última vez una acción en el intermediario, utilizando el método getTimeOfLastCompletionCode(). Este método devuelve la hora en que la topología ha recibido por última vez un código de terminación o, si no se han recibido códigos de retorno, un valor nulo. La aplicación actualiza la LongDescription del intermediario y luego supervisa constantemente la topología, en espera de que los resultados del mandato setLongDescription() se devuelvan al CMP. Cuando se devuelven los resultados, el control interrumpe el bucle while y se determina el último código de terminación.

Además de no ser adecuado para una aplicación de múltiples hebras, este algoritmo para determinar el resultado de mandatos no es eficaz, puesto que hace que la aplicación CMP espere hasta que el intermediario procese la solicitud.

Para conseguir una aplicación más eficiente, y que sea adecuada para un entorno de varias hebras, codifique el planteamiento alternativo que notificaciones de objetos administrados; consulte Comprobación de los resultados de la gestión de intermediarios con notificación de objetos en una aplicación de CMP.

Si lo prefiere, puede realizar cambios de propiedades de forma síncrona utilizando el método BrokerProxy.setSynchronous(). Al realizar cambios de propiedades síncronas, los métodos como, por ejemplo, setLongDescription(), no vuelven hasta que el intermediario ha procesado el cambio. Para obtener más información sobre los cambios síncronos de propiedades, consulte la descripción del método BrokerProxy.setSynchronous()) en la información Javadoc de la API de CMP.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:39


Tema de tareaTema de tarea | Versión 8.0.0.5 | ae33080_