Resolvendo Problemas ao Desenvolver Aplicativos do API do Message Broker
Use o conselho fornecido aqui para ajudá-lo
a resolver problemas que podem surgir ao desenvolver aplicativos API do Message Broker (também
conhecido como CMP API).
Seu Aplicativo CMP Será
Interrompido se o Broker não Estiver Disponível
Cenário: Quando o broker não
está disponível, o aplicativo CMP é
interrompido.
Explicação: A comunicação entre o CMP e o broker é
assíncrona, portanto, o CMP é interrompido
porque está esperando uma mensagem do broker.
Solução: Configure o tempo máximo que o CMP aguarda, utilizando o seguinte método:
// Aguardar no máximo 10 segundos
BrokerProxy.setRetryCharacteristics(10000);
O
valor especificado representa o tempo em milissegundos que o CMP espera por informações antes de
lançar a exceção BrokerProxyPropertyNotInitializedException.
Se
você configurar este valor de tempo limite muito baixo, uma exceção será lançada, mesmo se
o intermediário estiver disponível.
Uma Propriedade de um Objeto é Configurada e seu Valor é Consultado, mas o Valor
não foi Alterado
Cenário: Uma propriedade de um objeto é configurada, em seguida, seu valor
é consultado; o valor não foi alterado.
Explicação: Os métodos que alteram propriedades de objetos do broker não são processados imediatamente. Se você chamar um método de mudança de propriedade em um objeto do CMP, o CMP API enviará uma mensagem solicitando
a mudança especificada no broker. O broker processa a solicitação de forma assíncrona
e notifica todos os AdministeredObjectListeners do
objeto afetado quando a mudança é tentada.
Solução: Os métodos que alteram o estado geralmente retornam
ao programa de chamada assim que a solicitação é colocada no
gerenciador de filas do broker ou depois de
uma chamada para BrokerProxy.beginUpdates(),
assim que a solicitação é incluída no lote atual. Se a propriedade
ainda não tiver sido atualizada após a resposta da ação ao pedido
ter sido retornada ao aplicativo, consulte a mensagem de resposta
para obter detalhes adicionais.
Não é Possível se Conectar a um Intermediário ao Usar um Arquivo .broker
Cenário: Não é possível se conectar a um intermediário quando você
usa um arquivo .broker.
Explicação: Se seus aplicativos CMP usarem
a classe MQPropertyFileBrokerConnectionParameters,
eles poderão se conectar a um intermediário usando um arquivo de conexão que possui uma extensão .broker.
Entretanto, este arquivo pode ser analisado somente se um analisador XML estiver disponível.
Solução: Assegure-se de que um analisador suportado esteja disponível no
CLASSPATH. Um analisador suportado é fornecido com o WebSphere Message Broker.
Alternativamente,
seu aplicativo pode usar a classe MQBrokerConnectionParameters
em vez da classe MQPropertyFileBrokerConnectionParameters.
Esta classe se conecta a um intermediário especificando o nome do host, nome do
gerenciador de filas e porta do gerenciador de filas do intermediário de destino diretamente.
Esse método não requer um analisador XML.