Dicas de Resolução de Problemas do Sistema de Mensagens

Estas dicas ajudam a resolver problemas de configuração do sistema de mensagens do WebSphere.

Nota: Esse tópico faz referência a um ou mais arquivos de log do servidor de aplicativos. Como uma recomendação alternativa, é possível configurar o servidor para usar a infraestrutura de log e rastreio do High Performance Extensible Logging (HPEL) em vez de usar os arquivos SystemOut.log , SystemErr.log, trace.log e activity.log em sistemas distribuídos e IBM® i. Também é possível usar HPEL em conjunção com os recursos de criação de log z/OS nativos. Se você estiver usando HPEL, será possível acessar todas as informações de log e rastreio usando a ferramenta de linha de comandos LogViewer a partir do diretório bin do perfil do servidor. Consulte as informações sobre a utilização do HPEL para resolução de problemas dos aplicativos para obter mais informações sobre o uso do HPEL.

[IBM i][AIX Solaris HP-UX Linux Windows]Para ajudar a identificar e resolver problemas com sistema de mensagens, é possível usar os recursos de rastreio e criação de log do WebSphere Application Server.

[z/OS]Para ajudar a identificar e resolver problemas com o sistema de mensagens, é possível usar recursos de rastreio e criação de log do WebSphere Application Server como descrito em Configurando o rastreio de componentes (CTRACE).

Se tiver problemas ao implementar ou executar aplicativos que usam os recursos de sistema de mensagens do WebSphere Application Server, consulte os tópicos a seguir:

Se você vir mensagens de erro ou códigos de razão do IBM MQ em mensagens e logs do WebSphere Application Server, consulte a seção Mensagens do centro de informações do IBM MQ.

Verifique se o problema foi identificado e documentado usando os links em Diagnosticando e Corrigindo Problemas: Recursos para Aprendizado.

A Configuração do Adaptador de Recursos do WebSphere MQ não É Atualizada Automaticamente e Requer Manutenção Manual

Normalmente o adaptador de recursos do IBM MQ é automaticamente atualizado ao aplicar um fix pack do WebSphere Application Server. Entretanto, se tiver atualizado manualmente o adaptador de recursos do IBM MQ em alguns nós em seu ambiente, aplicar um fix pack não atualiza automaticamente o adaptador de recursos que é usado pelos servidores nestes nós.

Para resolver esse problema, consulte Mantendo o adaptador de recursos IBM MQ.

Ocorrem Exceções java.lang.ClassNotFoundException Quando Você Instala um Fix Pack

Se, ao instalar um fix pack você vir a seguinte mensagem, siga as instruções em Mantendo o adaptador de recursos IBM MQ para tentar resolver o problema:
J2CA0043E: An exception occurred while trying to instantiate a ResourceAdapter
JavaBean instance for the installed ResourceAdapter defined by key #removed#

As Mensagens do WebSphere MQ para z/OS Não Estão Sendo Consumidas por Aplicativos JMS

As mensagens do WebSphere MQ para z/OS não estão sendo consumidas pelos aplicativos JMS que são implementados no WebSphere Application Server e que usam connection factories ou especificações de ativação

Um Aplicativo JMS Não Pode mais Enviar ou Receber Mensagens

Ao configurar um aplicativo para usar o provedor de sistemas de mensagens padrão, você o associa a um dos seguintes conjuntos de recursos:
  • Um ou mais beans de mensagens conectados por meio das especificações de ativação do JMS (Java™ Message Service).
  • Um ou mais enterprise beans conectados por meio dos connection factories do JMS e destinos do JMS.
Para ajudar a resolver este problema, utilize os seguintes painéis do console administrativo para examinar a configuração de seus aplicativos e recursos JMS:

Um Atendente MDB Não Consegue Iniciar

Se um listener MDB implementado em oposição a uma porta listener não conseguir iniciar, você deverá ver a seguinte mensagem:
WMSG0019E: Incapaz de iniciar o Atendente MDB {0}, JMSDestination {1} : {2} 
Para ajudar a resolver esse problema, verifique os seguintes fatores:
  • Verifique se os recursos administrativos foram configurados corretamente. Por exemplo, utilize o console administrativo para verificar as propriedades da porta listener: Nome de JNDI de Destino e Nome de JNDI de Connection Factory. Verifique se as outras propriedades da porta do atendente, destino e fábrica de conexão estão corretas.
  • Verifique se a fila existe e foi adicionada ao servidor JMS.
  • Verifique se o gerenciador de filas e o servidor JMS iniciaram.
  • Verifique se o Atendente do Gerenciador de Filas Remoto iniciou.
  • [AIX Solaris HP-UX Linux Windows][IBM i]Se a segurança estiver ativada, verifique se um alias de autenticação gerenciado por componente foi especificado na connection factory de fila ou connection factory de tópico utilizado pelo bean acionado por mensagens. [z/OS]Se a segurança estiver ativada, verifique se o ID do usuário usado para iniciar o listener MDB está autorizado corretamente. Para obter mais informações, consulte Problema ao Executar Aplicativos JMS com a Segurança Ativada.

Problema ao Executar Aplicativos JMS com a Segurança Ativada

Ao tentar executar um aplicativo JMS com a segurança ativada, você pode encontrar problemas de autenticação indicados por uma ou mais das seguintes mensagens de erro.
WMSG0019E: Não é possível iniciar MDB Listener PSSampleMDB, JMSDestination Sample/JMS/listen: 
javax.jms.JMSSecurityException:
Esse exemplo indica que as credenciais de segurança fornecidas não são válidas.
Para resolver esse problema, verifique a configuração de segurança:
  • Se o mecanismo de autenticação estiver definido como Application, o aplicativo deverá fornecer credenciais válidas.
  • Se o mecanismo de autenticação estiver definido como Contêiner, será necessário configurar o connection factory JMS com um alias de autenticação gerenciado por contêiner e assegurar-se de que o ID de usuário e a senha associados sejam válidos. [z/OS]Como alternativa, ao executar no modo de transporte de ligações, você pode explorar o suporte de identidade de encadeamento do conector.
[AIX Solaris HP-UX Linux Windows][IBM i]
MQJMS2013 Autenticação de segurança inválida fornecida para MQQueueManager
Se estiver usando o IBM MQ como um provedor JMS, com a conexão de JMS e usando modo de transportede ligações, e o usuário especificado não for um usuário registrado atualmente para o processo WebSphere Application Server, a autenticação de ligações de JMS pelo IBM MQ gera um erro de autenticação de segurança inválida.
Para resolver esse problema, verifique a configuração de segurança. Ao configurar o provedor JMS do IBM MQ para usar modo de transporte de ligações, você configura a propriedade Tipo de transporte para LIGAÇÕES no factory de conexão da fila do IBM MQ. Nesse momento, escolha também uma das seguintes opções:
  • Utilize credenciais de segurança. Para isto, certifique-se de que o usuário especificado é um usuário registrado atualmente para o processo WebSphere Application Server.
  • Não utilize credenciais de segurança. No connection factory do IBM MQ, certifique-se de que as propriedades Alias de Autenticação Gerenciada por Componente e Alias de Autenticação Gerenciada por Contêiner não estão configuradas.

Para obter informações adicionais sobre a segurança do sistema de mensagens, consulte Protegendo o Sistema de Mensagens.

[AIX Solaris HP-UX Linux Windows]

O servidor de aplicativos não é iniciado quando o código do idioma zh_TW.EUC é definido no Solaris

Em Solaris, se configurar o código de idioma zh_TW.EUC e estiver usando o IBM MQ como um provedor JMS, seus servidores de aplicativos podem não ser iniciados.

Para resolver esse problema, defina as variáveis LANG e LC_ALL como zh_TW.

Consumo de Memória do Servidor e Exceção java.lang.OutOfMemoryError ao Processar Mensagens JMS

Ao usar o provedor de sistemas de mensagens padrão, as mensagens JMS são processadas por um mecanismo de sistemas de mensagens no processo do servidor de aplicativos. Essa abordagem consome memória do heap da JVM do servidor de aplicativos. Se houver processamento simultâneo significativo de mensagens grandes, e a quantidade de memória disponível ao heap da JVM não for suficiente para tratar esse evento, uma exceção java.lang.OutOfMemoryError será lançada e o servidor de aplicativos será finalizado.

Para resolver esse problema, calcule o possível número de processadores simultâneos ou consumidores de mensagens e os tamanhos das mensagens e, em seguida, defina o tamanho do heap da JVM do servidor de aplicativos para controlar o efeito. Exemplo
  1. Ao implementar um bean acionado por mensagem que processa mensagens simultaneamente, calcule o possível consumo da memória do servidor de aplicativos por terminais simultâneos. Observe que cada terminal que está processando simultaneamente um pedido de mensagem inclui pelo menos duas vezes o tamanho da mensagem no heap da JVM do servidor e pode incluir mais, especialmente se uma transação em duas fases estiver ocorrendo.
  2. Inicie o console administrativo do WebSphere Application Server.
  3. Navegue para Servidores > Tipos de Servidor > Servidores de Aplicativos do WebSphere > server_name > Gerenciamento Java e de Processo > Definição de Processo > Java Virtual Machine, em seguida, configure a quantidade de memória disponível para o heap da JVM do servidor de aplicativos configurando as propriedades Tamanho de Heap Inicial e Tamanho de Heap Máximo.
  4. Navegue em Recursos > JMS > Provedores JMS > Provedor de sistemas de mensagens padrão > Especificações de ativação > activation_specification_name, em seguida, configure o número de terminais simultâneos do MDB que podem processar mensagens configurando a propriedade Terminais máximos simultâneos da especificação de ativação para esse bean acionado por mensagens.

Erro de Clash de Atributos TopicConnectionFactory

Quando um assinante do tópico JMS que usa o provedor de sistema de mensagens do IBM MQ, a mensagem de erro a seguir ocorre no arquivo SystemOut.log:
WSVR0017E: Error encountered binding the J2EE resource, TopicConnectionFactory, as <JNDI_NAME>
   do arquivo:<RESOURCES_FILE> com.ibm.ws.runtime.component.binder.ResourceBindingException: configuração
   inválida transmitida à lógica de ligação de recurso. RAZÃO: Falha ao criar o connection factory:
   Ocorreu erro ao construir AdminObject, código do erro:  conflito de atributos TopicConnectionFactory  : 
   conflito de atributos TopicConnectionFactory 

Este problema é causado pela configuração do factory de conexão de tópico do JMS que é usado para criar o assinante, que especifia uma versão de broker de "Básica" e um valor de "Broker". O broker "Básico" IBM MQ (broker MA0C SupportPac) does not support "Broker" message selection.

Para resolver este problema, altere o factory de conexão de tópico do JMS para especificar um valor de seleção de mensagens de "Cliente", que é o único valor suportado para o broker Básico do IBM MQ (broker MA0C SupportPac).

WSEC5061E: O Corpo do SOAP Não É uma Exceção Assinada

Ao executar um aplicativo de serviços da web assegurado que usa transporte de JMS no provedor de sistema de mensagens do IBM MQ, a mensagem de erro a seguir pode ocorrer no arquivo SystemOut.log:
com.ibm.wsspi.wssecurity.SoapSecurityException:
WSEC5061E: O Corpo SOAP não está assinado; nulo
Esse problema ocorre nas seguintes circunstâncias:
  • Um aplicativo de serviço da web, configurado com o Web Services Security, está em execução em um aplicativo de serviço que tem a segurança do WebSphere Application Server ativada.
  • Esse aplicativo de serviço da Web usa o transporte JMS para enviar as solicitações SOAP para um serviço da Web de destino.
  • O recurso JMS usa um servidor IBM MQ remoto para se conectar a uma fila de IBM MQ.
  • Outro aplicativo de serviço da web idêntico, configurado para usar a mesma fila por meio do mesmo servidor IBM MQ, é executado em um servidor de aplicativos diferente que não tem a segurança do WebSphere Application Server ativada.

O problema ocorre quando um pedido enviado do aplicativo original é processado pela mesma fila, mas para o servidor de aplicativos diferente no qual a segurança não está ativada.

Para resolver este problema:
  1. Crie um gerenciador de filas exclusivo com uma porta exclusiva no servidor IBM MQ.
  2. Reconfigure os recursospara usar o novo gerenciador de filas e porta; por exemplo, usando o console administrativo do WebSphere Application Server para alterar as propriedades do factory de conexão da fila do IBM MQ, como descrito em Configurando um connection factory da fila para o provedor de sistemas de mensagens IBM MQ.
  3. Execute novamente o aplicativo.

Ocorre um Erro quando o IBM MQ É Usado como um Provedor JMS Externo

Ao usar o IBM MQ como um provedor JMS externo, e enviar uma mensagem para a fila do IBM MQ em uma transação gerenciada pelo usuário, a mensagem pode chegar na fila de destino antes de a transação ser confirmada. Este problema ocorre quando o gerenciador de recursos do IBM MQ não está listado na transação gernciada pelo usuário.

Para resolver esse problema, utilize uma transação gerenciada por contêiner.

[AIX Solaris HP-UX Linux Windows][IBM i]

javax.jms.JMSException: MQJMS3024: impossível iniciar o listener MDB

Esse erro poderá ocorrer se for utilizado um ID de cliente não inicializado (isto é, um ID de cliente que não está associado a uma assinatura durável). Para resolver este problema, configure o ID do cliente de uma das três formas a seguir:
[z/OS]

As Mensagens da Estrutura do Canal do Provedor de Sistemas de Mensagens WebSphere MQ Aparecem durante a Inicialização do Servidor

A mensagem a seguir pode ser exibida várias vezes no processo auxiliar da região de controle durante a inicialização do servidor, mesmo que a conexão seja bem-sucedida nas novas tentativas subsequentes. Essa mensagem é emitida devido à maneira assíncrona na qual o canal proxy z/OS TCP é iniciado e não indica que qualquer erro tenha ocorrido.

Trace: 2009/06/17 08:24:41.434 01 t=9C6B58 c=UNK key=P8 (00000011)
Description: Log Java Message 
Mensagem: CHFW0030E: Erro no início da sequência _InboundTCPProxyBridgeService, devido à 
exceção com.ibm.wsspi.channel.framework.exception.RetryableChannelException: 
An exception was thrown when attempting to start the TCPProxyChannel 
com.ibm.ws.channel.framework.imp l.ChannelFrameworkImpl
Essas mensagens podem ser acompanhadas pela saída First Failure Data Capture (FFDC) semelhante ao seguinte exemplo:
Exception = com.ibm.wsspi.channel.framework.exception.RetryableChannelException
Source = com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChainInternal
ID do probe = 2577
Dump de Pilha = com.ibm.wsspi.channel.framework.exception.RetryableChannelException: 
An exception was thrown when attempting to start the TCPProxyChannel
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.start(TCPProxyInboundChannel.java:153)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChannelInChain(ChannelFrameworkImpl.java:1410)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChainInternal(ChannelFrameworkImpl.java:2863)
        at com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.startChainInternal(WSChannelFrameworkImpl.java:960)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChainInternal(ChannelFrameworkImpl.java:2794)
        at com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.startChain(ChannelFrameworkImpl.java:2779)
        at com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.startChain(ChannelFrameworkServiceImpl.java:666)
        at com.ibm.ws.sib.jfapchannel.framework.impl.ChannelFrameworkReference$TCPProxy
BridgeServiceInboundChainStartupRunnable.run(ChannelFrameworkReference.java:1641)
        em com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: com.ibm.ws.tcpchannelproxy.jfap.NotYetInitializedException: Server is not yet initialized
        at com.ibm.ws.tcpchannelproxy.jfap.TCPProxyBridgeServicesImpl.startListening(TCPProxyBridgeServicesImpl.java:558)
        at com.ibm.ws.tcpchannelproxy.jfap.impl.TCPProxyInboundChannel.start(TCPProxyInboundChannel.java:131)
        ... 8 more
Eventualmente a seguinte mensagem deve ser exibida indicando que o canal TCP z/OS foi inicializado corretamente:
Trace: 2009/06/17 08:24:51.449 01 t=9C6B58 c=UNK key=P8 (13007002)
   ThreadId: 00000003
   FunctionName: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   SourceId: com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl
   Category: AUDIT
   ExtendedMessage: BBOO0222I: CHFW0019I: O Serviço do Canal de Transporte foi iniciado 
chain _InboundTCPProxyBridgeService.

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rmj_prob0
Nome do arquivo: rmj_prob0.html