WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Enviando Pedidos em Lote a partir de um Aplicativo CMP

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.

Considere a seguinte sequência de comandos:
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.

Se a sequência for estendida para usar um método em lote, o broker agora terá a garantia para processar todos os comandos juntos, portanto, nenhum outro aplicativo poderá interromper a lógica pretendida pelo aplicativo.
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.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:29:39


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ae33130_