Este tema contiene las secciones siguientes:
Utilice el nodo JMSInput para recibir mensajes de destinos JMS. A los destinos JMS se accede mediante una conexión a un proveedor JMS. El nodo JMSInput actúa como consumidor de mensajes JMS y puede recibir los seis tipos de mensajes definidos en Especificación Java Message Service, versión 1.1. Los mensajes se reciben utilizando llamadas de método, que se describen en la especificación JMS.
El nodo JMSInput se representa en el entorno de trabajo mediante el icono siguiente:
El nodo JMSInput recibe y propaga mensajes con un árbol de mensaje JMS. Puede establecer las propiedades del nodo JMSInput para controlar el modo en que se reciben los mensajes JMS.
El nodo JMSInput maneja los mensajes en los siguientes dominios:
Los flujos de mensajes, que manejan los mensajes que se reciben de las conexiones a proveedores JMS, deben empezar siempre con un nodo JMSInput. Si incluye un nodo de salida en un flujo de mensajes que empieza con un nodo JMSInput, éste puede ser cualquiera de los nodos de salida soportados (incluidos los nodos de salida definidos por el usuario); no tiene que incluir un nodo JMSOutput. Sin embargo, si no incluye un nodo JMSOutput, deberá incluir el nodo JMSMQTransform para transformar el mensaje al formato que el nodo de salida espera.
Si está propagando mensajes JMS y creando un flujo de mensajes para utilizarlo como un subflujo, no puede utilizar un nodo de entrada estándar; deberá utilizar una instancia del nodo JMSInput como primer nodo a fin de crear un terminal de entrada para el subflujo.
Para las plataformas distribuidas, copie los archivos .jar de java y las bibliotecas nativas para el cliente de proveedor JMS en un directorio de clases compartidas de intermediario. Por ejemplo, en Windows C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes. Esto asegura que la vía de acceso de clase java para los nodos JMS se establezca correctamente.
Para z/OS, no hay ningún directorio de clases compartidas. En lugar de ello, debe especificar cada archivo .jar java de proveedor JMS en la vía de acceso de clase en el miembro BIPPROF del PDS (Partitioned Data Set - Conjunto de datos particionado) del intermediario. A continuación, actualice LIBPATH con las bibliotecas nativas y someta el trabajo BIPGEN JCL para actualizar el ENVFILE de intermediario.
Una vez que ha puesto una instancia del nodo JMSInput en un flujo de mensajes, puede configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Las propiedades básicas del nodo se visualiza en el diálogo de propiedades.
Todas las propiedades obligatorias que no tienen valor por omisión aparecen con un asterisco.
Configure el nodo JMSInput del modo siguiente:
com.sun.jndi.fscontext.RefFSContextFactory, que define la fábrica de contexto inicial basada en archivo para el proveedor JMS de WebSphere MQ.
Para identificar el nombre de la Fábrica de contexto inicial para el proveedor JMS, consulte la documentación del proveedor JMS.
Al entrar un valor para Enlaces JNDI de ubicación, asegúrese de seguir las instrucciones siguientes:
Para obtener más información sobre cómo construir el archivo de enlaces de objetos JNDI administrados, consulte la documentación que se proporciona con el proveedor JMS.
Deje en blanco Conjunto de mensajes para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB.
Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC.
Deje Formato de mensaje en blanco para los analizadores XML, XMLNS, XMLNSC, JMSMap, JMSStream, MIME y BLOB.
Deje esta propiedad en blanco si no desea que el nodo de entrada realice la selección basándose en la propiedad de aplicación. Consulte Selectores de mensajes JMS para obtener una descripción de cómo crear el selector de mensajes.
Deje esta propiedad en blanco si no desea que el nodo de entrada realice la selección basándose en JMSTimeStamp.
Los valores válidos para la prioridad de mensaje son 0 (el más bajo) a 9 (el más alto). Por ejemplo, puede entrar 5 para recibir mensajes de prioridad 5. También puede calificar el selector; por ejemplo > 4 para recibir mensajes con una prioridad mayor que 4 o BETWEEN 4 AND 8 para recibir mensajes con una prioridad en el rango de 4 a 8.
Deje en blanco esta prioridad si no desea que el nodo de entrada realice la selección basándose en JMSPriority.
Entre un ID de mensaje específico o entre un selector condicional, por ejemplo entre > WMBRK123456 para devolver mensajes donde el ID de mensaje sea mayor que WMBRK123456.
Deje en blanco esta propiedad si no desea que el nodo de entrada realice una selección basándose en JMSMessageID.
Entre FALSE si el nodo de entrada sólo acepta mensajes que el proveedor JMS no ha vuelto a entregar.
Entre TRUE si el nodo de entrada sólo acepta mensajes que el proveedor JMS ha vuelto a entregar.
Deje esta propiedad en blanco si no desea que el nodo de entrada realice la selección basándose en JMSRedelivered.
Entre un ID de correlación específico o entre una serie de caracteres condicional; por ejemplo, WMBRKABCDEFG devuelve mensajes cuyo ID de correlación coincide con este valor.
Deje esta propiedad en blanco si no desea que el nodo de entrada realice la selección basándose en JMSCorrelationID.
Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.
Si cambia este valor a Inmediato, el análisis parcial queda alterado temporalmente y se analiza y valida todo lo contenido en el mensaje, excepto los tipos complejos con una composición de Elección o Mensaje que no se puede resolver en ese momento.
Si lo cambia por Completo, el análisis parcial se altera y se analizan y validan todos los elementos del mensaje; los tipos complejos con una Composición de Elección o Mensaje que no se pueden resolver en ese momento producen una anomalía de validación.
Si desea Utilizar analizador compacto XMLNSC para dominio XMLNS, seleccione el recuadro.
Para Modalidad de retención de contenido mixto, Modalidad de retención de comentarios y Modalidad de retención de instrucciones de proceso, los recuadros desplegables ofrecen las opciones siguientes:
Pulse Cancelar para cerrar el diálogo y descartar todos los cambios que ha realizado en las propiedades.
Para cada mensaje que se recibe satisfactoriamente, el nodo JMSInput direcciona el mensaje al terminal de salida. Si esta operación no se ejecuta correctamente, se reintenta el mensaje. Si se alcanza el umbral de reintentos, donde el atributo BackoutThreshold del nodo define el umbral, el mensaje se direcciona al terminal de anomalías.
Puede conectar nodos al terminal de anomalías para manejar esta condición. Si no ha conectado nodos al terminal de anomalías, el mensaje se graba en el destino de restitución. Si no se ha proporcionado un destino de restitución, se emite un mensaje de error y el nodo deja de procesar entrada adicional. El mensaje de error es bip4669.
Si el nodo JMSInput capta el mensaje después de que se haya generado una excepción en cualquier otro lugar del flujo de mensajes, el mensaje se direcciona al terminal de captación. Si no ha conectado nodos al terminal de captación, el nodo restituirá el mensaje para reentregarlo hasta que se resuelva el problema o se alcance el umbral de restituciones.
Se debe definir un destino de restitución. Si no define un destino de restitución, el nodo emite un mensaje de error bip4669 y deja de procesar entrada adicional.
Cuando se incluye un nodo JMSInput en un flujo de mensajes, el valor que se establece para la Modalidad de transacción define si los mensajes se reciben bajo el punto de sincronización.
El proveedor JMS puede proporcionar archivos jar adicionales que son necesarios para el soporte de transacción. Consulte la documentación de proveedor JMS. Por ejemplo, en plataformas distribuidas (no z/OS), el proveedor JMS de WebSphere MQ proporciona un archivo jar adicional com.ibm,mqetclient.jar. Este jar también se debe añadir al directorio shared_classes de intermediario. Consulte Cómo dejar el cliente de proveedor JMS disponible para los nodos JMS en este tema.
dir_instalación/bin/ JMSSwitch.dll XAOpenString=Contexto inicial,ubicación JNDI,parámetros_opcionales ThreadOfControl=THREAD
XAResourceManager: Name=Nombre_Proveedor_Jms SwitchFile=/dir_instalación/bin/ JMSSwitch.so XAOpenString=Contexto inicial,ubicación JNDI,parámetros_opcionales ThreadOfControl=THREADdonde:
Name es un nombre definido por la instalación que identifica un gestor de recursos de proveedor JMS.
SwitchFile es la vía de acceso de sistema de archivos a la biblioteca JMSSwitch que se proporciona en el directorio bin del intermediario.
Los parámetros opcionales están separados por coma y son posicionales. Por consiguiente, los parámetros que faltan deben representarse con una coma.
dir_instalación/classes/xarecovery.jar
dir_instalación/bin
XA no puede utilizar el mismo gestor de colas para el intermediario y el proveedor hasta WebSphere MQ Versión 5.3, CSD12 y WebSphere MQ Versión 6 FixPack 1.
El control de punto de sincronización para el proveedor JMS se gestiona con la coordinación de puntos de sincronismo RRS del gestor de colas del intermediario. No necesita modificar el archivo .ini .
Los terminales del nodo JMSInput se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
Failure (de anomalías) | El terminal de salida al que se direcciona el mensaje si se produce un error. Aunque esté establecida la propiedad Validación, los mensajes propagados a este terminal no se validan. |
Out (de salida) | El terminal de salida al que se direcciona el mensaje si se recupera satisfactoriamente de la cola de WebSphere MQ. |
Catch (de captación) | El terminal de salida al que se direcciona un mensaje si se genera una excepción en sentido descendente y después este nodo la capta. |
Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).
En la tabla siguiente se describen las propiedad básicas del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Fábrica de contexto inicial | Sí | com.sun.jndi.fscontext.RefFSContextFactory | Éste es el punto de partida para un espacio de nombres JNDI. Una aplicación
JMS utiliza el contexto inicial para obtener y buscar la fábrica de conexiones y los
objetos de cola y tema para el proveedor JMS. El valor por omisión es el utilizado cuando se utiliza Java WebSphere MQ como proveedor JMS. |
|
Enlaces JNDI de ubicación | Sí | Vía de acceso de sistema o ubicación LDAP para el archivo de enlaces. | ||
Nombre de fábrica de conexiones | Sí | Nombre de la fábrica de conexiones utilizado por el nodo JMSInput para crear una conexión con el proveedor JMS. | ||
Destino de restitución | No | Destino utilizado por el nodo JMSInput cuando el flujo de mensajes no puede procesar un mensaje debido a los errores del mensaje. | ||
Umbral de restitución | No | 0 | Valor que controla cuándo un mensaje que se ha vuelto a entregar se pone en el destino de restitución. |
En la tabla siguiente se describen las propiedades por omisión del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Dominio que se utilizará para analizar el mensaje de entrada. | |
Conjunto de mensajes | No | No | Nombre o identificador del conjunto de mensajes en el que se define el mensaje de entrada. | |
Tipo de mensaje | No | No | Nombre del mensaje de entrada. | |
Formato del mensaje | No | No | Nombre del formato físico del mensaje de entrada. |
En la tabla siguiente se describen las propiedades de publicación/suscripción del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Tema de suscripción | No | No | Nombre del tema al que está suscrito el nodo. | |
ID de suscripción duradera | No | No | Identificador para un tema de suscripción duradera. |
En la tabla siguiente se describen las propiedades de punto a punto del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Cola de origen | Nombre de la cola de la que el nodo recibe mensajes de entrada. |
En la tabla siguiente se describen las propiedades de Selectores de mensajes del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Propiedad de la aplicación | No | Selector de mensajes que filtrará los mensajes de acuerdo con el valor propiedad de aplicación. | ||
Indicación de la hora | No | Selector de mensajes que filtrará de acuerdo con JMSTimestamp. | ||
Modalidad de entrega | No | Selector de mensajes que filtrará los mensajes de acuerdo con la modalidad de entrada de mensajes. | ||
Prioridad | No | Selector de mensajes que filtrará los mensajes de acuerdo con la prioridad del mensaje. | ||
ID de mensaje | No | Selector de mensajes que filtrará los mensajes de acuerdo con el ID de mensaje. | ||
ID de correlación | No | Selector de mensajes que filtrará los mensajes de acuerdo con el ID de correlación. |
En la tabla siguiente se describen las propiedades avanzadas del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | ninguna | Esta propiedad se utiliza para determinar si el mensaje de entrada se recibe bajo el punto de sincronización externo, bajo el punto de sincronización local o fuera del punto de sincronización. Los valores válidos son ninguno, local y global. |
En la tabla siguiente se describen las propiedades de validación del nodo JMSInput.
Consulte Propiedades de validación para mensajes del dominio MRM para obtener una descripción completa de estas propiedades.Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | Sí | Sí | Ninguno | Esta propiedad determina si tiene lugar la validación. Los valores válidos son Ninguno, Contenido y Contenido y valor. |
Acción para anomalía | Sí | No | Excepción | Esta propiedad determina qué sucede si falla la validación. Sólo puede establecer esta propiedad si establece Validar en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Incluir todas las limitaciones de valor | Sí | No | Seleccionado | Esta propiedad no se puede editar. La acción por omisión, indicada por el recuadro de selección marcado, es que se incluyan comprobaciones de restricción de valor básicas en la validación de Contenido y valor. |
Arreglo | Sí | No | Ninguno | Esta propiedad no se puede editar. |
En la tabla siguiente se describen las propiedades de las Opciones de mensaje generales para el nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | Sí | No | A petición | Esta propiedad controla cuándo se analiza un mensaje de entrada.
Los valores válidos son A
petición, Inmediato
y Completo. Consulte Análisis a petición para obtener una descripción completa de esta propiedad. |
En la tabla siguiente se describen las propiedades de las Opciones de analizador XMLNSC para el nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Utilizar analizador compacto XMLNSC para dominio XMLNS | Sí | Deseleccionado | No | ![]() ![]() |
Modalidad de retención de contenido mixto | Sí | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra texto mixto en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para el texto mixto. Si se selecciona Ninguno, significa que el texto mixto se ignora y no se crea ningún elemento. |
Modalidad de retención de comentarios | Sí | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra comentarios en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para los comentarios. Si se selecciona Ninguno, significa que se ignoran los comentarios y no se crean elementos. |
Modalidad de retención de instrucciones de proceso | Sí | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensaje cuando encuentra instrucciones de proceso en un mensaje de entrada. Los valores válidos son Ninguno y Todos. Si se selecciona Todos, significa que se crean elementos para las instrucciones de proceso. Si se selecciona Ninguno, significa que se ignoran las instrucciones de proceso y no se crean elementos. |
En la tabla siguiente se describen las propiedades de descripción del nodo JMSInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe la finalidad del nodo en el flujo de mensajes. |