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

Verificando os Resultados de Gerenciamento do Broker com o Código de Conclusão mais Recente em um Aplicativo CMP

Use o código de conclusão mais recente de um objeto para determinar o resultado de um pedido que seu aplicativo fez nesse objeto.

A maioria dos métodos de alteração de estado no CMP API não fornece código de retorno que indica o êxito ou a falha de uma ação específica. Para estes métodos, é necessário gravar um código diferente para descobrir o resultado da ação. Assumindo que os objetos administrados não são compartilhados nos encadeamentos, o fragmento de código a seguir pode ser usado para descobrir o resultado de um pedido para modificar a LongDescription de um broker, em que b é uma instância de um 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.
}

Nesse exemplo, o aplicativo determina inicialmente quando uma ação no broker foi concluído pela última vez, utilizando o método getTimeOfLastCompletionCode(). Esse método retorna o tempo em que a topologia recebeu pela última vez um código de conclusão ou, se nenhum código de retorno tiver sido recebido, um valor nulo. O aplicativo atualiza a LongDescription do broker, em seguida, monitora continuamente a topologia, aguardando que os resultados do comando setLongDescription() sejam retornados ao CMP. Quando os resultados são retornados, o controle quebra o loop while e o último código de conclusão é determinado.

Além de não ser adequado para um aplicativo multiencadeado, esse algoritmo para determinar o resultado dos comandos é ineficiente, porque ele faz com que o aplicativo CMP espere enquanto o broker processa a solicitação.

Para obter um aplicativo mais eficiente, e um que seja adequado para um ambiente multiencadeado, codifique a abordagem alternativa que usa notificações de objeto administrado; consulte Verificando os Resultados do Gerenciamento do Broker com a Notificação do Objeto em um Aplicativo CMP.

Se você preferir, poderá fazer alterações na propriedade sincronamente usando o método methodBrokerProxy.setSynchronous(). Quando você fizer alterações síncronas na propriedade, métodos como setLongDescription() não retornarão até a alteração ter sido processada pelo broker. Para obter mais informações sobre as mudanças da propriedade síncrona, consulte a descrição do método BrokerProxy.setSynchronous()) nas informações Javadoc do CMP API.

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 | ae33080_