Utilice la API de CMP para agrupar varias peticiones destinadas al mismo intermediario y someterlas como una sola unidad de trabajo.
Para iniciar un lote, su aplicación debe llamar al método beginUpdates() en el manejador BrokerProxy. La API de CMP retrasa el sometimiento de las peticiones de cambio de estado al intermediario hasta que se le indica que hay un lote de peticiones listo para el envío.
El método sendUpdates() indica a la API de CMP que someta como proceso por lotes todas las peticiones recibidas desde la última llamada beginUpdates(). El método clearUpdates() se puede utilizar para descartar un lote sin someterlo al intermediario. La aplicación puede comprobar determinar si un lote está en proceso en ese momento utilizando el método isBatching(). Sólo puede haber un lote en proceso para un descriptor de contexto de API de CMP a la vez.
Una ventaja de utilizar un método de proceso por lotes es que asegura que ninguna otra aplicación podrá tener mensajes procesados por el intermediario durante el proceso por lotes. Cuando un intermediario recibe un lote de peticiones, procesa cada petición del lote en el orden en que éstas se añadieron al lote (FIFO), y no se procesa ninguna otra petición CMP hasta que finaliza el lote completo.
ExecutionGroupProxy e = b.createExecutionGroup("EG2");
e.deploy("mybar.bar");
Sin utilizar un método por lotes, la aplicación no puede garantizar el éxito de estas acciones. Por ejemplo, incluso si todos los mandatos se hubiesen ejecutado correctamente, es posible que una segunda (posiblemente remota) aplicación suprima el grupo de ejecución EG2 después de que la primera aplicación lo haya creado, pero antes de que se procesen los otros dos mandatos.
b.startUpdates();
ExecutionGroupProxy e = b.createExecutionGroup("EG2");
e.deploy("mybar.bar");
b.sendUpdates();
Otra ventaja de utilizar un método por lotes es el rendimiento. Normalmente, el CMP envía un mensaje WebSphere MQ al intermediario para cada petición.
En una situación que requiere el envío de muchas peticiones en una sucesión rápida, el uso de un lote tiene un efecto significativo sobre el rendimiento, ya que reduce tanto el tiempo necesario para procesar las solicitudes como la memoria utilizada. Por ejemplo, su aplicación podría crear varios grupos de ejecución en un solo intermediario. Cada lote de peticiones se envía en un solo mensaje WebSphere MQ y, por lo tanto, se reduce enormemente el proceso necesario para cada método.
La modalidad de proceso por lotes no tiene posibilidades transaccionales (confirmación y restitución); es posible que algunas de las peticiones de un lote se ejecuten correctamente y otras no. Si el intermediario procesa una petición en un lote que no se ejecuta correctamente, continuará procesando la siguiente petición del lote hasta que haya intentado todas las peticiones del lote.