WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Habilitación del filtrado basado en contenido en publicación/suscripción

WebSphere MQ proporciona la capacidad de especificar un filtro cuando se hace una suscripción, pero esto sólo puede hacer referencia a elementos de cabeceras. WebSphere Message Broker puede actuar como proveedor de filtrado de contenido para WebSphere MQ y así permite que los suscriptores especifiquen filtros ampliados que pueden hacer referencia a elementos del cuerpo de las publicaciones.

El filtrado de contenido debe estar habilitado en el intermediario para que este servicio esté disponible para los suscriptores de WebSphere MQ.

Antes de empezar

WebSphere Message Broker amplía el soporte de selección de mensajes proporcionado por WebSphere MQ. WebSphere Message Broker lo realiza al permitir sentencias ESQL en vez de sentencias SQL92 y el filtrado basado en el contenido de los mensajes. Consulte Filtrado basado en contenido utilizando ESQL para obtener detalles del ámbito y las exclusiones de ESQL soportado.

Las diferencias externas principales en la implementación actual del filtrado basado en contenido son:
  • El filtrado basado en contenido ya no está limitado a suscriptores de MQRFH2 de WebSphere MQ. WebSphere Message Broker proporciona servicios de filtrado de contenido para los suscriptores siguientes de WebSphere MQ:
    • MQRFH2
    • MQSUB
    Si está llevando a cabo un filtrado de contenido basado en el campo NameValueData, en una cabecera MQRFH2, en z/OS, los datos se pueden presentar en la primera o segunda cabecera MQRFH2. Por ejemplo, el filtro:
    Root.MQRFH2.mcd.Msd='XML'
    puede que no funcione tal como esperaba en z/OS. Utilice la sintaxis siguiente para buscar todas las cabeceras 'QRFH2:
    FOR ANY Root.MQRFH2[] AS I (I.mcd.Msd='XML')
  • Las propiedades de mensajes de WebSphere MQ están soportadas como parte de la expresión de filtro.
  • Si la publicación no contiene una carpeta mcd, se supone que la carga útil es XMLNSC.

Lea los pasos siguientes para ver cómo se habilita el filtrado basado en contenido en WebSphere Message Broker.

  1. Establezca la propiedad cbfEnabled del objeto ContentBasedFiltering para el grupo de ejecución en el que desea que se ejecute el filtrado basado en contenido.
    Establezca la propiedad cbfEnabled de la línea de mandatos utilizando:

    Observe que debe habilitar explícitamente la propiedad cbfEnabled para que funcione el filtrado basado en contenido; el valor predeterminado es que el filtrado basado en contenido esté desactivado.

  2. Reinicie el grupo de ejecución para que el cambio entre en vigor.
    Si habilita el filtrado basado en el contenido en varios grupos de ejecución en z/OS, el filtrado basado en el contenido estará activo solamente en un grupo de ejecución en cualquier momento. Los posteriores grupos de ejecución para los que está habilitado el filtrado basado en contenido, propagan los mensajes siguientes al registro del sistema en el momento de arranque (para cada hebra de filtrado basado en el contenido) y, a continuación, cada 30 minutos, porque fallan al intentar conectarse al gestor de colas:
    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)
    Si detiene el grupo de ejecución que actualmente está proporcionando servicios de filtrado basado en el contenido, otro grupo de ejecución para el que está habilitado el filtrado del contenido se conecta al gestor de colas y proporciona servicios de filtrado basado en el contenido.

    Las propiedades evaluationThreads y validationThreads toman de forma predeterminada el valor uno si el filtrado basado en contenido está habilitado.

    Las hebras de evaluación se utilizan para validar filtros de contenido respecto a una publicación determinada durante la publicación. Una red con un número elevado de publicaciones puede necesitar que aumente el valor de la propiedad evaluationThreads (hasta un máximo de 32) para manejar la carga de trabajo durante la publicación.

    Las hebras de validación se utilizan para validar la sintaxis de filtros de contenido durante la suscripción. Una red de publicación/suscripción con un elevado número de suscriptores, especialmente si los suscriptores dinámicos pueden necesitar que el valor de la propiedad validationThreads aumente (hasta un máximo de 32) para manejar la alta productividad de las solicitudes de suscripción.

    Es posible habilitar esta función en varios grupos de ejecución, pero debe asegurar que cualquier conjunto de mensajes necesario para analizar cualquier mensaje publicado (y referenciado en la carpeta mcd de ese mensaje) se despliegue en todos los grupos de ejecución que se han habilitado para el filtrado basado en contenido.

    Los errores encontrados al analizar el mensaje en la hebra de evaluación causan que WebSphere MQ devuelva MQRC_CONTENT_ERROR a la aplicación de publicación. El error de análisis aparece también en el registro de sucesos como una excepción de WebSphere Message Broker.

    Ejemplo de una carpeta <psc> que procesa propiedades de ESQL y mensajes en el 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 | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:01:40


Tema de tareaTema de tarea | Versión 8.0.0.5 | bq13460_