Utilice el nodo JMSInput para recibir mensajes de destinos JMS. A los destinos JMS se accede mediante una conexión a un proveedor JMS.
Este tema contiene las secciones siguientes:
El nodo JMSInput actúa como consumidor de mensajes JMS y puede recibir los seis tipos de mensajes definidos en Java™ Message Service Specification, 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 encuentra en la bandeja JMS de la paleta y está representado en el WebSphere Message Broker Toolkit mediante el siguiente icono:
Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.
El nodo JMSInput recibe y propaga mensajes con un árbol de mensajes JMS. Puede establecer las propiedades del nodo JMSInput para controlar el modo en que se reciben los mensajes JMS.
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 es necesario que incluya un nodo JMSOutput. No obstante, si no incluye un nodo JMSOutput, debe incluir el nodo JMSMQTransform para transformar el mensaje al formato que espera el nodo de salida.
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.
Los servicios configurables están definidos para una serie de proveedores JMS. Puede elegir uno de los servicios predefinidos, o bien puede crear un servicio para un nuevo proveedor, o para uno de los proveedores existentes. Los servicios predefinidos se listan en Propiedades de servicios configurables.
Utilice el mandato mqsireportproperties para ver las propiedades del proveedor y el mandato mqsichangeproperties para establecer o modificar las propiedades.
Para cada mensaje que se recibe satisfactoriamente, el nodo JMSInput direcciona el mensaje al terminal Out (de salida). Si esta acción falla, se reintenta el mensaje. Si se alcanza el umbral de reintentos, estando definido el umbral por la propiedad Umbral de reintentos del nodo, el mensaje se direcciona al terminal de anomalías. Puede conectar nodos al terminal de anomalías para manejar esta condición.
Si se produce una excepción en la vía de acceso de anomalías y el mensaje es transaccional, la vía de acceso se vuelve a intentar hasta que el número de intentos duplique el Umbral de restituciones. Si se sobrepasa este límite, el mensaje se direcciona al Destino de restitución. Si se produce una excepción en la vía de acceso de anomalías y el mensaje no es transaccional, el mensaje se direcciona directamente al Destino de restitución. Si no ha conectado nodos al terminal de anomalías, el mensaje se direcciona directamente al Destino de restitución. Si no define un Destino de restitución, el mensaje se retrotrae.
Si el proceso no se reanuda después de reiniciar el intermediario o el grupo de ejecución, consulte el registro de despliegue para saber si existe algún motivo como, por ejemplo, la especificación de un analizador incorrecto en las propiedades del nodo. Corrija el problema y vuelva a desplegar el flujo de mensajes. Si el mensaje propiamente dicho no es válido, elimínelo de la cola de entrada para reanudar el proceso.
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 Catch (de captación). Si no ha conectado nodos al terminal Catch (de captación), el nodo restituye los mensajes transaccionales para reentregarlos hasta que se resuelve el problema o se alcanza el Umbral de restituciones. Si se alcanza el umbral, el mensaje se direcciona al Destino de restitución. Si no ha conectado nodos al terminal Catch (de captación) y el mensaje es no transaccional, el mensaje se direcciona directamente al Destino de restitución. Si no define un Destino de restitución, el mensaje se retrotrae.
Cuando se incluye un nodo JMSInput en un flujo de mensajes, el valor que se establece para la Modalidad de transacción indica si los mensajes se reciben bajo punto de sincronismo. Consulte Configuración para transacciones JMS coordinadas.
Puede configurar el nodo JMSInput para enviar un acuse de recibo por lotes para la recepción de mensajes JMS no transaccionales. Consulte Configurar el nodo JMSInput para el proceso de mensajes por lotes.
Cuando haya colocado una instancia del nodo JMSInput en un flujo de mensajes, podrá configurarlo; consulte el apartado Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades. Todas las propiedades obligatorias que no tienen un valor predeterminado aparecen con un asterisco.
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. |
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 de nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); 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).
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo, JMSInput | El nombre del nodo. |
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. |
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Cola de origen | No | Sí | Seleccionado | Nombre de la cola de la que el nodo recibe mensajes de entrada. Si el nodo se va a leer de una cola (punto a punto), seleccione Cola de origen y entre el nombre de la cola de origen, que es la cola JMS que se lista en el archivo de enlaces. Esta propiedad y Tema de suscripción se excluyen mutuamente. | sourceQueueName |
Tema de suscripción | No | Sí | No seleccionado | Nombre del tema al que está suscrito el nodo.
Si el nodo se ha de leer desde un Tema de suscripción
(publicación/suscripción), seleccione Tema de suscripción
y especifique el nombre del tema de suscripción.
|
tema |
ID de suscripción duradera | No | Sí | Identificador para un tema de suscripción duradera.
Si el nodo debe recibir publicaciones de un tema de suscripción duradera, entre un
ID de suscripción duradera.
|
durableSubscriptionID |
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Nombre del proveedor JMS | Sí | No | WebSphere MQ | Seleccione un nombre de proveedor JMS en la lista o especifique el nombre que desee. Cuando se selecciona un nombre de proveedor de la lista, la propiedad Fábrica de contexto inicial se actualiza automáticamente con la clase Java pertinente. Si entra su propio nombre de proveedor JMS, también debe entrar un valor para la Fábrica de contexto inicial El nombre debe coincidir con el nombre de un servicio configurable que se ha definido para el intermediario al que despliega el flujo de mensajes. De forma alternativa, puede especificar el servicio configurable de JMSProviders. | |
Fábrica de contexto inicial | No | Sí | com.sun.jndi.fscontext. RefFSContextFactory | 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. Si selecciona un nombre de proveedor JMS de la lista en Nombre de proveedor JMS, la propiedad Fábrica de contexto inicial se actualiza automáticamente con la clase Java pertinente. Si entra un nombre de proveedor JMS que no esté en la lista, también deberá entrar un valor en Fábrica de contexto inicial. El valor predeterminado es com.sun.jndi.fscontext.RefFSContextFactory, que define la Fábrica de contexto inicial para el proveedor JMS de WebSphere MQ. Si el nodo se ha establecido para utilizar su propio proveedor JMS, y la propiedad Servicios configurables correspondiente de la definición mqsichangeproperties tiene el atributo InitialContextFactory establecido, este atributo altera temporalmente el valor del nodo. |
initialContextFactory |
Enlaces JNDI de ubicación | No | Sí | Vía de acceso de sistema o ubicación LDAP para el archivo de enlaces. El archivo de enlaces contiene definiciones
para los objetos JNDI administrados utilizados por el nodo
JMSInput. Cuando entre un valor para
Enlaces
JNDI de ubicación, asegúrese de que satisface las indicaciones siguientes:
Para obtener más información sobre cómo construir el archivo de enlaces de objetos JNDI administrados, consulte la documentación del proveedor JMS. Si el nodo se ha establecido para utilizar su propio proveedor JMS, y la propiedad Servicios configurables correspondiente de la definición mqsichangeproperties tiene el atributo jndiBindingsLocation establecido, este atributo altera temporalmente el valor del nodo. |
locationJndiBindings | |
Nombre de fábrica de conexiones | No | Sí | El nombre de la fábrica de conexiones que utiliza el nodo JMSInput para crear una conexión con el proveedor JMS. Este nombre debe existir en el archivo de enlaces. El Nombre de la fábrica de conexiones puede ser una QueueConnectionFactory de JMS o una TopicConnectionFactory de JMS, pero ha de coincidir con el modelo de mensaje utilizado por el nodo. También puede especificar la fábrica de conexiones JMS genérica, que puede utilizarse para los destinos de cola JMS o de tema JMS. | connectionFactoryName | |
Destino de restitución | No | Sí | El nodo JMSInput envía mensajes de entrada a este destino cuando los errores impiden que el flujo de mensajes procese el mensaje y el mensaje se debe eliminar del destino de entrada. El nombre del destino de restitución debe existir en el archivo de enlaces. | backoutDestination | |
Umbral de restitución | No | Sí | 0 | Valor que controla cuándo un mensaje que se ha vuelto a entregar
se pone en el destino de restitución. Por ejemplo, si
el valor es 3, el proveedor
JMS intenta entregar el mensaje al destino de entrada tres veces. Tras el tercer intento de entrega, el mensaje se
elimina del destino de entrada y se envía al Destino de restitución. Consulte el apartado Configuración de la propiedad de umbral de restitución. |
En la tabla siguiente se describen las propiedades de Análisis de mensajes de entrada del nodo JMSInput.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | BLOB | Dominio que se utiliza para analizar el mensaje. Si el campo está en blanco, el valor predeterminado es BLOB. |
Modelo de mensaje | No | No | Deseleccionado | Nombre o ubicación del archivo de esquemas de modelos de mensaje en el que se define el mensaje. Esta lista se llena con todos los archivos de esquemas de modelos de mensajes disponibles para el Dominio de mensajes que ha seleccionado. |
Mensaje | No | No | Deseleccionado | Nombre o ubicación de la raíz de mensaje dentro del archivo de esquemas de modelos de mensaje. Esta lista se llena con todos los mensajes disponibles que se han definido en el Modelo de mensaje que ha seleccionado. |
Formato físico | No | No | Deseleccionado | Nombre del formato físico del mensaje. Si está utilizando el analizador MRM o IDOC, seleccione el formato físico del mensaje de entrada de la lista. Esta lista incluye todos los formatos físicos que ha definido para este modelo de mensaje seleccionado. Si establece la propiedad Dominio de mensajes en DataObject, puede establecer esta propiedad en XML o IDoc ALE de SAP. Establezca esta propiedad en IDoc ALE de SAP cuando tenga que analizar una corriente de bits desde un origen externo y generar un árbol de mensajes. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A solicitud | Esta propiedad controla cuándo se analiza un mensaje de entrada. Los valores válidos son:
De forma predeterminada, Temporización de análisis está establecido en A solicitud con lo cual el análisis del mensaje se retrasa. Para hacer que el mensaje se analice inmediatamente, consulte Análisis a petición. |
Crear árbol utilizando los tipos de datos de esquema XML | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos de sintaxis en el árbol de mensajes con tipos tipos de datos tomados del esquema XML. Para obtener más información sobre cómo funciona el analizador XMLNSC, consulte Manipular mensajes en el dominio XMLNSC. |
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | No seleccionado | Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si establece esta propiedad, los datos del mensaje se visualizarán bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera MQRFH2 de entrada o el Dominio de mensajes de las propiedades de Análisis de mensaje de entrada sea XMLNS. |
Retener el contenido mixto | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro, el texto mixto se ignora y no se crea ningún elemento. |
Retener los comentarios | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento. |
Retener las instrucciones de proceso | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de entrada. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento. |
Elementos opacos | No | No | Espacio en blanco | Esta propiedad se utiliza para especificar una lista de elementos del mensaje de entrada que el analizador XMLNSC deba analizar de forma opaca. El análisis opaco sólo se realiza si la validación no está habilitada (es decir, si Validar tiene el valor Ninguno); las entradas que se especifiquen en Elementos opacos se omiten si la validación está habilitada. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Propiedad de la aplicación | No | No | Selector de mensajes que filtra los mensajes de
acuerdo con el valor de la propiedad de la aplicación. Si es necesario que el proveedor JMS filtre mensajes basándose en propiedades de mensaje establecidas por la aplicación cliente JMS de origen, especifique una serie de caracteres de selector para Propiedad de la aplicación, especificando el nombre de la propiedad y las condiciones de selección; por ejemplo OrderValue > 200. Deje la Propiedad de la aplicación en blanco si no desea que el nodo de entrada realice una selección basándose en la propiedad de la aplicación. |
|
Indicación de la hora | No | No | Selector de mensajes que filtra los mensajes de acuerdo con
JMSTimestamp. Si es necesario que el proveedor JMS filtre mensajes que se hayan generado en horas específicas, especifique una serie de caracteres de selector para Indicación de fecha y hora, donde el valor es una hora en milésimas de segundo, no calificada, de Java; por ejemplo, 105757642321. Califique el selector con operadores, por ejemplo =, BETWEEN o AND. Deje en blanco Indicación de fecha y hora si no desea que el nodo de entrada realice una selección basándose en JMSTimeStamp. |
|
Modalidad de entrega | No | No | Todo | Selector de mensajes que filtra los mensajes de
acuerdo con la modalidad de entrega de mensajes. Si es necesario que el proveedor JMS filtre mensajes basándose en el valor de la cabecera JMSDeliveryMode
de los
mensajes JMS, seleccione una opción para Modalidad de entrega en
la lista:
|
Prioridad | No | No | Selector de mensajes que filtra los mensajes de
acuerdo con la prioridad de los mensajes. Si es necesario que el proveedor JMS filtre mensajes basándose en el valor de cabecera de JMSPriority del mensaje JMS, especifique una serie de caracteres de selector para Prioridad. Los valores válidos para la Prioridad son de 0 (el más bajo) a 9 (el más alto). Por ejemplo, especifique = 5 para recibir mensajes de prioridad 5, > 4 para recibir mensajes con una prioridad mayor que 4 o BETWEEN 4 AND 8 para recibir mensajes con una prioridad en el rango 4 - 8. Deje en blanco Prioridad si no desea que el nodo de entrada realice la selección basándose en JMSPriority. |
|
ID de mensaje | No | No | Selector de mensajes que filtra los mensajes de
acuerdo con el ID de mensaje. Si es necesario que el proveedor JMS filtre mensajes basándose en la cabecera JMSMessageID, especifique una serie de caracteres de selector para ID de mensaje. Por ejemplo, especifique > WMBRK123456 para devolver mensajes en los que el ID de mensaje es mayor que WMBRK123456. Deje en blanco el ID de mensaje si no desea que el nodo de entrada efectúe una selección basada en JMSMessageID. |
|
Reentregado | No | No | Si es necesario que el proveedor JMS filtre mensajes basándose en la cabecera
JMSRedelivered, especifique una serie de caracteres de selector para Reentregado:
|
|
ID de correlación | No | No | Selector de mensajes que filtra los mensajes de
acuerdo con el ID de correlación. Si es necesario que el proveedor JMS filtre mensajes basándose en la cabecera JMSCorrelationID, especifique una serie de caracteres de selector para ID de correlación. Por ejemplo, = WMBRKABCDEFG devuelve mensajes con un ID de correlación que coincide con este valor. Deje en blanco el ID de correlación si no desea que el nodo de entrada efectúe una selección basada en JMSCorrelationID. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | No | Esta propiedad controla si el mensaje se recibe
bajo una transacción JMS. Los valores válidos son
Sí y No.
|
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Validar | No | Sí | Ninguno | Esta propiedad controla si tiene lugar la validación. Los valores válidos son:
Si selecciona Contenido o Contenido y valor, seleccione una opción de la lista Acción para anomalía. |
validateMaster |
Acción para anomalía | No | No | Excepción | Esta propiedad controla 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:
|
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Sucesos | No | No | Ninguno | Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y
Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles. Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado. |