O Publicação/assinatura no WebSphere Business Integration Event Broker é gerenciado a partir do workbench, que é utilizado para conectar intermediários de uma topologia ou hierarquia e para administrar a segurança baseada em tópico (se um Servidor de Nome de Usuário estiver em utilização). Como outras alterações ao workbench, você necessita implementar quaisquer alterações que fizer para que essas atualizações sejam enviadas ao intermediário.
Esta seção descreve alguns problemas comuns que podem surgir ao utilizar Publicação/Assinatura. Ela contém sugestões para lidar com os problemas:
BIP8303W: O cache de usuário/grupo do Intermediário está vazio. BIP8303W: O cache de usuário/grupo do Intermediário está vazio.
+() 0 BIP8204I: O Servidor de Nomes do Usuário está registrando um cliente com UUID 15db2a8e-869e-11d5-8000-091465ac0000 e versão de cache 0.
Isso deve sempre ser possível para um assinante, mas para o lado da publicação, uma mensagem pode ser publicada sem o conhecimento do aplicativo de origem (por exemplo, utilizando a propriedade de tópico padrão no nó de entrada). Os resultados de processar essa mensagem ainda são registrados no rastreio do usuário, o que pode dar pistas sobre o que está acontecendo.
Se o aplicativo não estiver solicitando respostas (ou seja, não estiver utilizando mensagens do tipo MQMT_REQUEST), considere isso, principalmente, ao desenvolver aplicativos.
São enviadas mensagens aos assinantes somente se eles corresponderem ao tópico, ao ponto de assinatura e ao filtro. Como o ponto de assinatura é especificado no fluxo de mensagens, não na mensagem de publicação, uma definição incorreta do fluxo de mensagens pode causar falhas inesperadas.
Além disso, se um filtro estiver sendo utilizado, um rastreio de usuário mostra se esse filtro está sendo avaliado conforme esperado.
No caso de vários grupos de execução ou vários intermediários, é mais complexo. Uma resposta é enviada a um assinante quando a mensagem tiver sido processada pelo grupo de execução de destino. Outros grupos de execução (e intermediários) são atualizados assincronamente. Como resultado, pode haver um atraso antes que as publicações feitas em outros lugares sejam recebidas. Se o intermediário estiver ocupado, pode haver um atraso antes que as mensagens sejam processadas completamente. Em uma configuração de vários intermediários, se as comunicações tiverem sido suspensas, as alterações às assinaturas serão propagadas através da rede de intermediários. Verifique os canais.
Com vários grupos de execução ou intermediários, pode ser possível preencher as filas intermediárias do WebSphere MQ se a carga for muito alta. Isso pode ser registrado no syslog (se um intermediário não puder colocar em uma fila por estar cheia) ou no log do WebSphere MQ (se uma mensagem transmitida por um canal não puder ser colocada na fila de destino por ela estar cheia). Se você vir mensagens desse tipo, exiba as profundidades das filas em todos os gerenciadores de filas para ver se alguma está perto de alcançar sua totalidade.
Se os erros BIP8303 forem registrados em um log de intermediário depois da inicialização, isso indica um problema de comunicação com o Servidor de Nome de Usuário. Verifique os canais do WebSphere MQ para e a partir do Servidor de Nome de Usuário e tente novamente. Você deve ver a mensagem de evento BIP8204I para o Configuration Manager e os intermediários, mostrando que eles foram registrados com êxito com o Servidor de Nome de Usuário.
Se o pedido do Publicação/Assinatura falhar e o evento BIP7017 for registrado, verifique se o ID do usuário do cliente é conhecido pelo sistema no qual o Servidor de Nome de Usuário está em execução. Além disso, se você estiver operando em um ambiente de domínio do Windows, assegure-se de que o Servidor de Nome de Usuário tenha sido criado com o sinalizador -d no conjunto de comandos do mqsicreateusernameserver para o domínio apropriado e que todos os IDs de usuários do aplicativo cliente sejam membros desse domínio.
A persistência de mensagem em Publicação/Assinatura em geral é preservada. No entanto, um assinante pode não obter a persistência esperada se ACLs não permitirem.
Símbolo | Caractere de Escape |
---|---|
< | < |
> | > |
" | " |
' | ' |
& | & |
Por exemplo, se você quiser utilizar:
<Filter>Body.e_ALERT_BODY.eqnum<6</Filter>
deve especificar:
<Filter>Body.e_ALERT_BODY.eqnum<6</Filter>
Quando a configuração é implementada, uma resposta é recebida de cada intermediário. Elas aparecem no workbench.Contudo, o log local de cada intermediário também deve ser verificado. Para cada conexão, aparece uma mensagem BIP7113. Para testar comunicações, o aplicativo de amostra Soccer pode ser útil. É possível executar cada parte em um intermediário separado para testar as comunicações entre eles.
É necessário ter os canais do emissor e do receptor e as filas de transmissão estabelecidas para e a partir do gerenciador de filas do Configuration Manager e do gerenciador de filas do Servidor de Nome de Usuário. Verifique se esses canais foram criados e estão em execução atualmente.
Se você tiver alguma alteração, reinicie o Configuration Manager e consulte a mensagem de evento do Windows 8258, que mostra que o Configuration Manager foi registrado com êxito com o Servidor de Nome de Usuário. Se você fizer alguma alteração, por exemplo, a canais, também precisará iniciar novamente o workbench para atualizar a lista exibida de usuários.
No z/OS, se o Servidor de Nome de Usuário estiver em execução e se você tiver os itens acima definidos corretamente, mas ainda não estiver vendo os usuários do z/OS listados na visualização Tópicos do Perspectiva de Administração do Intermediário, verifique se todos os usuários do z/OS têm segmentos OMVS definidos. Eles não são listados pelo Servidor de Nome de Usuário se não tiverem.
O compilador JIT será carregado e executado corretamente se LIBPATH não estiver definido. Este é o caso mais simples e é recomendável não definir LIBPATH. É possível disponibilizar bibliotecas ligando-as a /var/wmqi/lib (para todos WebSphere Business Integration Event Broker para processos AIX) ou a /usr/lib (para todos os processos no sistema). A configuração do WebSphere Business Integration Event Broker para AIX faz isso para as bibliotecas DB2.
Se for necessário definir o LIBPATH, atualize-o para incluir o diretório /usr/java130/bin.
Por exemplo, você pode utilizar o seguinte comando para iniciar o intermediário:LIBPATH=/usr/local/lib:/usr/java130/bin mqsistart mybroker
#DFL0 DSNILMCL RESOURCE UNAVAILABLE 558 CORRELATION-ID=ST03BRK CONNECTION-ID=RRSAF LUW-ID=* REASON 00C90092 TYPE 00000905 NAME IRLM *DXR175E IFL0001 IRLM IS UNABLE TO OBTAIN STORAGE - ECSA DSNT501I #DFL0 DSNILMCL RESOURCE UNAVAILABLE 560 CORRELATION-ID=ST04BRK CONNECTION-ID=RRSAF LUW-ID=* REASON 00C90092 TYPE 00000905 NAME IRLM
Conceitos relacionados
Publicação/Assinatura
Trace
Tarefas relacionadas
Desenvolvendo aplicativos do Publicação/Assinatura
Visualizando Informações do Log de Domínio do Intermediário
Visualizando Informações do Log do WebSphere MQ
Interpretando o Rastreio
Lidando com Problemas
Referências relacionadas
Rastreio do Usuário
Publicação/assinatura
Comando mqsicreatebroker
Comando mqsichangebroker
Avisos |
Marcas |
Downloads |
Biblioteca |
Suporte |
Feedback
![]() ![]() |
au16630_ |