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

Resolução de Problemas de Nós JMS

Revise possíveis problemas com nós usando o transporte JMS.

Use o log de atividades como a primeira etapa no diagnóstico de um problema quando algo inesperado acontecer em um fluxo de mensagens. O log de atividades mostra as atividades recentes em seus fluxos de mensagens e nos recursos externos associados, e pode mostrar a você, em um alto nível, quaisquer problemas que ocorram com os seus recursos JMS. Você também pode visualizar o log de eventos para obter informações sobre os erros que ocorrem.

Em todos os casos de erro, se a causa subjacente for uma exceção JMS que foi lançada pelo provedor JMS, a mensagem de evento BIP do broker incluirá a mensagem de texto da exceção JMS para ajudar a diagnosticar.

Gerenciando Mensagens Formadas Incorretamente

Se uma mensagem não puder ser processada pelo nó de entrada JMS, ou tiver sido retrocedida como parte de uma transação coordenada por XA, a mensagem será retrocedida para o destino de origem. A mensagem então é entregue novamente para o nó de entrada.

Para evitar que mensagens malformadas interrompam o processamento de mensagens válidas, as propriedades do nó podem ser configuradas conforme descrito na tabela a seguir.
Propriedade Descrição
Destino de restauração Essa propriedade especifica um destino JMS para o qual as mensagens restauradas serão roteadas se a propriedade de mensagem JMS JMSX_DeliveryCount, configurada pelo provedor JMS, exceder o limite de restauração.

O destino JMS deve ser aplicável ao modelo de mensagem que está sendo utilizado pelo nó; por exemplo, se um tópico de assinatura tiver sido configurado no nó, o destino JMS também deverá ser um tópico.

Limite de Backout Essa propriedade especifica o valor de número inteiro que controla uma mensagem enviada ao destino de restauração. Um valor de limite igual a 3 indica que, se o nó de entrada receber uma mensagem em que o valor da propriedade JMSX_DeliveryCount excede 3, a mensagem será enviada para o destino de restauração e removida do destino de origem. Consulte o Configurando a Propriedade de Limite de Restauração.

Diagnosticando Problemas ao Usar Transações Coordenadas por XA

Esse problema não é aplicável ao z/OS.

Além do rastreio de serviço do broker, é fornecido outro log de rastreio para diagnosticar problemas que podem ocorrer quando um nó que usa o transporte JMS participa de uma transação de fluxo de mensagem coordenado por XA. Ou seja, pelo menos um nó JMS no fluxo de mensagens possui a propriedade Modo de Transação configurada como Sim e a propriedade do fluxo de mensagens Transação Coordenada configurada como sim.

Para capturar o registro de rastreio, execute as seguintes etapas:
  1. Defina uma variável de ambiente chamada XAJMS_TRACEFILE que esteja disponível para o gerenciador de filas do broker.
  2. Configure o valor da variável de ambiente. Este valor deve ser uma cadeia de caracteres que representa o local e nome do arquivo do log de rastreio. Por exemplo, no Windows, a variável pode ser configurada conforme mostra o exemplo a seguir:
    XAJMS_TRACEFILE = c:\JMSSwitchLog
  3. Quando o gerenciador de filas do broker é iniciado, ele executa uma etapa de recuperação para resolver transações do broker anteriores que o provedor JMS considera como pendentes. Este processo do gerenciador de filas grava em dois logs de rastreio durante esta etapa. Os dois registros de rastreio são:
    • XAJMS_TRACEFILE valuePID.txt, em que PID é o ID do processo do processo inicial do gerenciador de filas. Esse arquivo é produzido a partir da biblioteca JMSSwitch do broker; para obter mais informações, consulte Transacionalidade JMS.

      O exemplo anterior produz um arquivo chamado JMSSwitchLog2596.txt, no qual o ID do processo de inicialização do gerenciador de filas é 2596.

    • XAJMS_TRACEFILEXARecoveryTrace.txt, que é produzido pelo componente de recuperação do broker que conecta-se ao provedor JMS.
  4. Depois que o gerenciador de filas do broker tiver concluído a recuperação, o broker será iniciado e criará um arquivo chamado XAJMS_TRACEFILE valuePID.txt, em que PID é o ID do processo de início do gerenciador de filas. Esse arquivo é produzido a partir da biblioteca JMSSwitch do broker; para obter mais informações, consulte Transacionalidade JMS.

Nenhum desses arquivos de rastreio requer formatação extra.

Problemas com Objetos Administrados de JNDI

Descrição do problema: O nó JMS não pode obter o Factory de Contexto Inicial ou um objeto administrado pela JNDI, como o Connection Factory ou destino JMS, e a mensagem BIP4640 é emitida.

Ação corretiva
  1. Verifique se as ligações JNDI foram construídas corretamente e podem ser atingidas no local especificado no nó.
  2. Verifique se os valores especificados no nó para as propriedades Nome do Connection Factory e Fila de Origem ou Fila de Destino existem nas ligações JNDI.
  3. Certifique-se de que a palavra-chave correta seja utilizada para corresponder ao local das ligações:
    • file:// quando os objetos administrados foram criados em um arquivo .bindings
    • ldap:// quando os objetos administrados existem em um diretório LDAP
    • iiop:// quando CORBA é utilizado para acessar os objetos administrados
  4. Quando as ligações são baseadas em arquivo, não especifique o nome do arquivo .bindings na propriedade do nó.
  5. Assegure-se de que o nome da Classe do Factory de Contexto Inicial esteja configurado corretamente conforme especificado na documentação do provedor JMS.
  6. Assegure-se de que o nome da Classe do Factory de Contexto Inicial não inclua um caminho de arquivo.
  7. Certifique-se de que um destino JMS (Tópico ou Fila de Origem ou Fila de Destino) especificado na propriedade do nó exista nos objetos administrados de JNDI.
  8. Assegure-se de que a propriedade jarsURL do Provedor JMS tenha sido configurada corretamente usando o comando mqsichangeproperties. Para verificar o valor, use o comando a seguir:
    mqsireportproperties MB8BROKER -c JMSProviders -o JMSProvider –r
Os nós JMS continuam tentando obter os objetos administrados pela JNDI. Corrija quaisquer problemas e reconstrua as ligações. O nó JMS deve detectar automaticamente as alterações e tentar iniciar.
  • Se o problema for resolvido com a reconstrução das ligações, o nó JMS detectará as mudanças automaticamente e tentará iniciar.
  • Se o problema for resolvido com a atualização das propriedades do nó, você deverá reimplementar o fluxo para que ele possa conectar-se com êxito.
  • Se o problema for resolvido com a atualização das propriedades do serviço configurável JMSProviders, você deverá reiniciar o grupo de execução para que as mudanças tenham efeito.

Descrição do problema: Um nó JMS não consegue conectar-se a um provedor JMS e emite a mensagem BIP4648.

Ação corretiva:
  1. Verifique se o servidor do provedor JMS está em execução. Se ele estiver off-line, inicie o servidor.
  2. Verifique se o servidor do provedor JMS está disponível a partir do ambiente do broker.
  3. Assegure-se de que os arquivos .jar Java™ do provedor JMS tenham sido colocados no diretório de classes compartilhadas do broker em sistemas distribuídos, ou de que, no z/OS, esses arquivos .jar tenham sido definidos para o CLASSPATH do broker e as bibliotecas nativas definidas na LIBPATH do broker.
Os nós JMS continuarão tentando conectar-se ao provedor JMS. Corrija os problemas e o nó JMS deve detectar automaticamente as alterações e tentar conectar-se ao provedor.

Descrição do problema: Um nó JMS não consegue obter um destino JMS e emite a mensagem BIP4642.

Ação corretiva
  1. Investigue a causa do problema descrito pela mensagem de exceção JMS que pode estar incluída na mensagem do evento BIP.
  2. Verifique se o nome do destino JMS definido na propriedades do nó relevante (Tópico, Fila de Origem ou Fila de Destino) foi definido corretamente nos objetos administrados pela JNDI.
  3. Verifique se o recurso do sistema subjacente usado pelo provedor JMS para o destino JMS foi configurado corretamente

Descrição do problema: Um nó de entrada JMS não tenta reconectar-se a um provedor JMS após uma falha de conexão ou um reinício do provedor JMS.

Ação corretiva: Se o provedor JMS for implementado usando um modelo que seleciona o cliente JMS, em vez de um modelo de pesquisa tradicional, o provedor JMS poderá não lançar uma exceção ao chamar receive() em uma conexão do broker. Para resolver esse problema, configure a propriedade jmsAsyncExceptionHandling do serviço configurável JMSProviders como true para esse provedor JMS.

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:28:30


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | ac24877_