Sumário

Search

  1. Prefácio
  2. Compreendendo o PowerExchange for JMS
  3. Configurando o PowerExchange for JMS
  4. Trabalhando com origens e destinos JMS
  5. Criando e configurando fluxos de trabalho JMS
  6. Apêndice A: Referência de tipo de dados JMS
  7. Apêndice B: Glossário de termos

PowerExchange for JMS Guia do Usuário do PowerCenter

PowerExchange for JMS Guia do Usuário do PowerCenter

Solucionando problemas dos fluxos de trabalho do JMS

Solucionando problemas dos fluxos de trabalho do JMS

Executo uma sessão para gravar mensagens JMS em um provedor WebSphere MQ JMS. A sessão é concluída com êxito, mas as mensagens de destino não contêm os campos de propriedade.
Ao configurar a fábrica de conexão no JNDI para o provedor WebSphere MQ JMS, você define o valor TARGETCLIENT para MQ. Quando WebSphere MQ JMS recebe as mensagens de destino, ele as traduz para o formato de mensagem WebSphere MQ. As mensagens no formato WebSphere MQ contém campos de cabeçalho e de corpo. Elas não contêm campos de propriedade.
Para receber mensagens de destino com campos de propriedade, defina o valor do TARGETCLIENT para JMS na configuração do JNDI e execute a sessão novamente. Para obter mais informações sobre o formato dos campos de propriedade em mensagens do WebSphere MQ JMS, consulte a documentação do WebSphere MQ JMS.
Executo uma sessão para gravar dados de uma origem WebSphere MQ JMS em um destino JMS. A sessão falha porque o Serviço de Integração rejeita os dados dos seguintes campos de cabeçalho: JMSDestination, JMSReplyTo e JMSMessageID.
Quando você tem um mapeamento que passa dados do cabeçalho de mensagens JMS a partir de uma origem JMS para um destino JMS e a origem é o WebSphere MQ JMS, ele deduz os dados para os campos de cabeçalho JMSDestination, JMSReplyTo e JMSMessageID.
Por exemplo, o Serviço de Integração grava dados do campo JMSDestination na origem para o campo JMSDestination no destino. O valor do campo JMSDestination na origem é JMS_1. Quando o Serviço de Integração grava os dados no destino, o valor é queue://QM_pcserv/JMS_1. O Serviço de Integração rejeita a mensagem.
Use uma transformação de Expressão no mapeamento para extrair o valor correto e passá-lo para o destino.
Executo uma sessão para ler dados de uma origem JMS e gravar dados em um destino que não é JMS. O valor da ID da mensagem para o campo JMSMessageID começa com “ID:" em vez de somente conter a ID da mensagem.
Quando você tem um mapeamento que passa dados do campo JMSMessageID em uma origem JMS para um destino que não é JMS, o JMS inclui a string “ID:” no campo JMSMessageID. Para remover os caracteres “ID:” do início da ID da mensagem, é necessário usar uma transformação de Expressão no mapeamento.
Executo uma sessão para gravar mensagens em um destino WebSphere MQ JMS. O intervalo de confirmação para a sessão era alto. A sessão falha devido a uma exceção de JMS. Ela falha ao enviar mensagens para a fila do WebSphere MQ.
Quando você executa uma sessão com um intervalo de confirmação alto para gravar mensagens em um destino WebSphere MQ JMS, o Serviço de Integração grava as mensagens no WebSphere MQ JMS. O WebSphere MQ JMS grava as mensagens em um arquivo de cache. Como o intervalo de confirmação é alto, o arquivo de cache pode ficar sem memória. Como resultado, a sessão falha. Para evitar que a sessão falhe, diminua o intervalo de confirmação. Ou aumente o tamanho do arquivo de cache do WebSphere.
Tentei executar diversas sessões simultaneamente para ler mensagens de várias origens JMS e gravá-las em um único destino. As sessões usaram a condição de finalização Tempo ocioso e foram concluídas quando a condição foi atendida. Quando as sessões foram concluídas, o registro da sessão reportou que o Serviço de Integração leu somente um número pequeno de mensagens da origem durante algumas sessões.
Ao executar diversas sessões simultaneamente para ler mensagens de várias origens JMS e gravá-las em um único destino, o Serviço de Integração poderá não ler as mensagens da origem por alguns instantes, enquanto ele grava os dados no destino. Como resultado, o Serviço de Integração atende às condições de finalização Tempo ocioso e encerra a sessão. Para garantir que cada sessão lê o número adequado de mensagens, especifique um valor mais alto para a condição de finalização Tempo ocioso.
Recebi a seguinte mensagem de erro ao executar uma sessão JMS com um provedor WebSphere MQ:
MAPPING> [JAVA PLUGIN] [ERROR] Unable to load message catalog - mqji
Esta mensagem de erro é exibida mesmo se a sessão for concluída com êxito. Para evitar que a mensagem de erro seja exibida, inclua o diretório <WebSphere MQ JMS>\lib no CLASSPATH.