Verificando os Resultados do Gerenciamento de Domínios Intermediários Utilizando o Configuration Manager Proxy com Códigos de Retorno

Isto faz parte da tarefa maior de desenvolver aplicativos do Configuration Manager Proxy (CMP).

Os métodos apenas de alteração de estado que fornecem um código de retorno representando o resultado do pedido são os métodos deploy(). A amostra de código a seguir mostra como descobrir o resultado de uma operação de implementação de topologia utilizando o objeto DeployResult retornado:
...

TopologyProxy t = cmp.getTopology();

boolean isDelta = true;
long timeToWaitMs = 10000;
DeployResult dr = topology.deploy(isDelta, timeToWaitMs);

System.out.println("Overall result = "+dr.getCompletionCode());

// Exibe mensagens de registro gerais
Enumeration logEntries = dr.getLogEntries();
while (logEntries.hasMoreElements()) {
    	LogEntry le = (LogEntry)logEntries.nextElement();
    	System.out.println("General message: " + le.getDetail());
}
            
// Exibe informações específicas do intermediário
Enumeration e = dr.getDeployedBrokers();
   while (e.hasMoreElements()) {
                
    	// Descobre o intermediário
    	BrokerProxy b = (BrokerProxy)e.nextElement();
    
    	// Código de conclusão do intermediário
    	System.out.println("Result for broker "+b+" = " +
        dr.getCompletionCodeForBroker(b));
                
    	// Entradas de registro do intermediário
    Enumeration e2 = dr.getLogEntriesForBroker(b);
    	while (e2.hasMoreElements()) {
        		LogEntry le = (LogEntry)e2.nextElement();
        		System.out.println("Log message for broker " + b +
            			le.getDetail()));
    }
}

Neste código, o método deploy() fica bloqueado até que todos os intermediários afetados tenham respondido ao pedido de implementação. No entanto, o método inclui um parâmetro long que descreve o período de tempo máximo que o CMP aguarda a chegada da resposta.

Observe que, quando o método finalmente retornar, o DeployResult representará o retornado da implementação no momento em que o método foi retornado. Em outras palavras, depois de retornado ao aplicativo, o objeto não é atualizado pelo CMP.

Após a conclusão do método deploy(), o exemplo interroga o DeployResult retornado e exibir o código de conclusão geral para a operação de implementação. Isto utiliza um dos seguintes valores:
(com.ibm.broker.config.proxy.)CompletionCodeType.pending
Significa que a implementação é mantida em um batch e não será enviada até que ConfigManagerProxy.sendUpdates() seja emitido. Observe que, se esta mensagem se aplicar, ela será retornada imediatamente - ou seja, sem aguardar a expiração do tempo limite.
CompletionCodeType.submitted
Significa que a mensagem de implementação foi enviada para o Gerenciador de Configuração, mas nenhuma resposta foi recebida antes de ocorrer o tempo limite. Observe que, se a mensagem de implementação não puder ser enviada para o Gerenciador de Configuração, será emitida uma ConfigManagerProxyLoggedException no tempo de implementação.
CompletionCodeType.initiated
Significa que o Gerenciador de Configuração respondeu informando que a implementação foi iniciada, mas não foram recebidas respostas do intermediário antes de ocorrer o tempo limite.
CompletionCodeType.successSoFar
Significa que o Gerenciador de Configuração emitiu um pedido de implementação e alguns, mas não todos os intermediários responderam com uma mensagem "bem-sucedida" antes de expirar o tempo limite. Nenhum intermediário respondeu negativamente.
CompletionCodeType.success
Significa que o Gerenciador de Configuração emitiu o pedido de implementação e todos os intermediários relevantes responderam com êxito antes da expiração do tempo limite. Esta mensagem é enviada assim que todos os intermediários relevantes tiverem respondido com êxito.
CompletionCodeType.failure
Significa que o Gerenciador de Configuração emitiu o pedido de implementação e que pelo menos um intermediário respondeu negativamente.
Observe que nem todos os códigos de conclusão se aplicam a todas as implementações. Por exemplo, a implementação em um único intermediário específico não pode resultar em um código de conclusão de 'successSoFar'.

O exemplo a seguir exibe mensagens de registro da implementação que não podem ser atribuídas a nenhum intermediário específico. Em uma implementação bem-sucedida, estas mensagens sempre incluem uma entrada de registro "implementação iniciada" originária no Gerenciador de Configuração, mesmo que a implementação tenha sido concluída posteriormente.

Por último, o exemplo exibe o código de conclusão e mensagens de registro específicas de cada intermediário afetado pela implementação. Observe que, em uma implementação de topologia ou de árvore de tópicos, isto representa cada intermediário no domínio.

O conjunto de códigos de conclusão aplicáveis a uma resposta de um intermediário específico são:
CompletionCodeType.pending
Significa que a implementação é mantida em um batch e não será enviada até que ConfigManagerProxy.sendUpdates() seja emitido.
CompletionCodeType.submitted
Significa que a mensagem de implementação foi enviada, mas ainda não foi recebida nenhuma resposta do Gerenciador de Configuração informando que a implementação foi iniciada.
CompletionCodeType.initiated
Significa que o Gerenciador de Configuração respondeu, informando que a implementação foi iniciada, mas que ainda não foi retornada nenhuma resposta do intermediário.
CompletionCodeType.success
Significa que o Gerenciador de Configuração emitiu o pedido de implementação e o intermediário aplicou com êxito as alterações na implementação.
CompletionCodeType.failure
Significa que o Gerenciador de Configuração emitiu o pedido de implementação e que o intermediário respondeu informando que a implementação não foi bem-sucedida. Utilize getLogEntriesForBroker() para obter informações adicionais sobre o motivo da falha da implementação.
CompletionCodeType.notRequired
Significa que foi enviado um pedido de implementação para o Gerenciador de Configuração que envolvia o intermediário fornecido, mas o intermediário não recebeu o pedido enviado porque sua configuração já está atualizada.
Consulte Executando a Implementação da Amostra BAR ou o método Executando a Amostra de Gerenciamento de Domínios Intermediários CMPAPIExerciser.reportDeployResult() para obter exemplos de como analisar objetos DeployResult.
Tarefas relacionadas
Verificando os Resultados do Gerenciamento de Domínios Intermediários Utilizando o Configuration Manager Proxy
Verificando os Resultados do Gerenciamento de Domínios do Intermediário Utilizando o Configuration Manager Proxy com o Último Código de Conclusão
Verificando os Resultados do Gerenciamento de Domínios Intermediários Utilizando o Configuration Manager Proxy com Notificação de Objetos
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ae33070_