Use o CMP API para agrupar diversas solicitações destinadas ao mesmo broker e enviá-las como uma única unidade de trabalho.
Para iniciar um lote, o aplicativo deve chamar o método beginUpdates() na manipulação do BrokerProxy. O CMP API atrasa o envio de solicitações de mudança de estado para o broker até ser informado de que um lote de solicitações está pronto para ser enviado.
O método sendUpdates() informa ao CMP API para enviar como um lote todos os pedidos recebidos desde a última chamada debeginUpdates(). O método clearUpdates() pode ser usado para descartar um lote sem enviá-lo para o broker. O aplicativo pode verificar se um lote está atualmente em progresso usando o método isBatching(). Apenas um lote para um identificador CMP API pode estar em progresso a qualquer momento.
Uma vantagem de usar um método em lote é que ele fornece uma garantia de que nenhum outro aplicativo poderá ter mensagens processadas pelo broker durante o lote. Quando um broker recebe um lote de solicitações, ele processa cada solicitação do lote na ordem em que foi incluída no lote (FIFO) e solicitações de outro aplicativo CMP não são processadas até que o lote inteiro seja concluído.
ExecutionGroupProxy e = b.createExecutionGroup("EG2");
e.deploy("mybar.bar");
Sem usar um método em lote, o aplicativo não pode garantir o êxito destas ações. Por exemplo, mesmo que cada comando seja, de outra maneira, bem-sucedido, é possível que um segundo aplicativo (possivelmente remoto) exclua o grupo de execução EG2 depois de ter sido criado pelo primeiro aplicativo, mas antes do processamento de outro comando.
b.startUpdates();
ExecutionGroupProxy e = b.createExecutionGroup("EG2");
e.deploy("mybar.bar");
b.sendUpdates();
Outra vantagem de utilizar um método de batch é o desempenho. O CMP geralmente envia uma mensagem do WebSphere MQ para o broker de cada solicitação.
Em uma situação que necessite que muitos pedidos sejam enviados em uma sucessão rápida, o uso de um lote tem um efeito significativo no desempenho, reduzindo o tempo gasto para processar os pedidos e a memória usada. Por exemplo, seu aplicativo pode criar vários grupos de execução em um único broker. Cada lote de pedidos é enviado em uma única mensagem do WebSphere MQ, reduzindo, assim, o processamento que é necessário para cada método.
O modo em lote não fornece recurso transacional (confirmação e restauração); alguns pedidos em um lote podem ser bem-sucedidos e outros falharem. Se o broker processar um pedido em um lote que falhar, ele continuará processando o próximo pedido no lote até ele ter tentado todos os pedidos no lote.