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

Ativando a Filtragem Baseada em Conteúdo com o Publicação/Assinatura

WebSphere MQ fornece a capacidade de especificar um filtro quando uma assinatura é feita, mas isso pode se referir apenas a itens em cabeçalhos. WebSphere Message Broker pode atuar como provedor de filtragem um conteúdo para WebSphere MQe estendido a ser especificado por filtros permite que os assinantes que podem se referir a elementos no corpo de publicações.

filtragem de conteúdo deve ser ativada no broker para esse serviço para estar disponível para assinantes do WebSphere MQ .

Antes de começar

WebSphere Message Broker estende o suporte à seleção de mensagem fornecido pelo WebSphere MQ. WebSphere Message Broker faz isto permitindo instruções ESQL em vez de instruções SQL92, e filtragem baseada no conteúdo da mensagem. Consulte Filtragem Baseada em Conteúdo Usando ESQL para obter detalhes do escopo e exclusões de ESQL suportado.

As principais diferenças externas na implementação atual da filtragem baseada em conteúdo são:
  • A filtragem baseada em conteúdo não é mais limitada aos assinantes MQRFH2 do WebSphere MQ. WebSphere Message Broker fornece serviços de filtragem de conteúdo para os seguintes assinantes do WebSphere MQ:
    • MQRFH2
    • MQSUB
    Se estiver executando filtragem de conteúdo baseada no campo NameValueData, dentro do cabeçalho MQRFH2, no z/OS, os dados podem estar presentes no primeiro ou segundo cabeçalho MQRFH2. Por exemplo, o filtro:
    Root.MQRFH2.mcd.Msd='XML'
    pode não funcionar conforme o esperado no z/OS. Use a seguinte sintaxe para procurar todos os cabeçalhos MQRFH2:
    FOR ANY Root.MQRFH2[] AS I (I.mcd.Msd='XML')
  • As propriedades de mensagem do WebSphere MQ são suportadas como parte da expressão de filtro.
  • Se a publicação não contiver uma pasta mcd, a carga útil será assumida como sendo XMLNSC.

Leia as etapas a seguir para ver como ativar a filtragem basdeada em conteúdo no WebSphere Message Broker.

  1. Configure a propriedade cbfEnabled do objeto ContentBasedFiltering para o grupo de execução no qual você deseja que a filtragem baseada em conteúdo seja executada.
    Configure a propriedade cbfEnabled a partir da linha de comandos usando:

    Observe que você deve ativar explicitamente a propriedade cbfEnabled para que a filtragem baseada em conteúdo funcione; a configuração padrão é para a filtragem baseada em conteúdo ficar desativada.

  2. Reinicie o grupo de execução para a mudança surtir efeito.
    Se você ativar a filtragem baseada em conteúdo em diversos grupos de execução no z/OS, a filtragem baseada em conteúdo ficará ativa em apenas um grupo de execução por vez. Os grupos de execução subsequentes cujo conteúdo baseado em filtragem está ativo, propaga as seguintes mensagens para o syslog na inicialização (para cada conteúdo baseado no encadeamento de filtragem) e, em seguida, a cada 30 minutos, conforme falham em conectar o gerenciador de filas:
    BIP2111E MQ04BRK jheg1 15 MESSAGE BROKER INTERNAL ERROR: DIAGNOSTIC INFORMATION 
     'Error occurred in Content Based Filtering Thread'. : ImbCbfWorker(909) 
    BIP2624E MQ04BRK jheg1 14 UNABLE TO CONNECT TO QUEUE MANAGER 'MQ04': MQCC=2;
     MQRC=2002; MESSAGE FLOW NODE 'ContentBasedFiltering'. : ImbCbfWorker(214)
    Se você parar o grupo de execução que está atualmente fornecendo serviços de filtragem baseados em conteúdo, outro grupo de execução, para o qual a filtragem baseada em conteúdo está ativa, conecta-se ao gerenciador de filas e fornece serviços de filtragem baseados em conteúdo.

    Ambas as propriedades evaluationThreads e validationThreads são padronizadas como um se a filtragem baseada em conteúdo estiver ativada.

    Os encadeamentos de avaliação são usados para validar filtros de conteúdo com relação a uma determinada publicação no momento da publicação. Uma rede com um número alto de publicações pode requerer que a propriedade evaluationThreads seja aumentada (até um máximo de 32) para tratar a carga de trabalho no momento da publicação.

    Os encadeamentos de validação são usados para validar a sintaxe dos filtros de conteúdo no momento da assinatura. Uma rede do Publicação/Assinatura com um alto número de assinantes, especialmente se assinantes dinâmicos, pode requerer que a propriedade validationThreads seja aumentada (até um máximo de 32) para manipular o alto rendimento dos pedidos de assinatura.

    É possível ativar esta função em múltiplos grupos de execução, mas é necessário assegurar que qualquer conjunto de mensagens requerido para analisar qualquer mensagem publicada (e referenciada na pasta mcd dessa mensagem) seja implementado em todos os grupos de execução que foram ativados para filtragem baseada em conteúdo.

    Quaisquer erros encontrados ao analisar a mensagem no encadeamento de avaliação fazem com que WebSphere MQ retorne MQRC_CONTENT_ERROR ao aplicativo de publicação. O erro de análise aparece também no log de eventos como uma exceção WebSphere Message Broker.

    Exemplo de uma pasta <psc> de assinatura processando propriedades de ESQL e mensagem no filtro:
    <psc>
     <Command>RegSub</Command><Topic>topic</Topic>
       <Filter>
       SUBSTRING(Root.XMLNSC.Name.FirstName FROM 1 FOR 1) = ‘J' and usr.flag = ‘yes'
       </Filter>
    </psc>
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:31:45


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bq13460_