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 encuentra en la bandeja JMS de la paleta y está representado en el entorno de trabajo mediante el siguiente icono:
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.
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 empiece con un nodo JMSInput, éste podrá ser cualquiera de los nodos de salida soportados (incluidos los nodos de salida definidos por el usuario); no es necesario incluir un nodo JMSOutput. No obstante, si no incluye un nodo JMSOutput, deberá 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.
export MQSI_LIBPATH32=$MQSI_LIBPATH32:/usr/mqm/lib:/usr/mqm/java/lib
Los servicios configurables están definidos para varios proveedores de JMS. Puede elegir uno de los servicios predefinidos, o bien puede crear un servicio nuevo para un nuevo proveedor, o para uno de los proveedores existentes.
mqsireportproperties nombreIntermediario -c AllTypes -o AllReportableEntityNames -r
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, se vuelve a intentar la vía de acceso hasta que el número de intentos duplique el Umbral de restituciones. Si se sobrepasa este límite, el mensaje se transfiere al Destino de restitución.
Si no ha conectado nodos al terminal de anomalías, el mensaje se escribe en el Destino de restitución. Si no ha especificado un Destino de restitución, el nodo emite un mensaje de errorBIP4669 y deja de procesar entradas.
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 de captación, el nodo restituye los mensajes para reentregarlos hasta que se resuelva el problema o se alcance el Umbral de restituciones. Si no define un Destino de restitución, el nodo emitirá un mensaje de error BIP4669 y dejará de procesar entradas.
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.
dir_instalación/bin/ JMSSwitch.dll XAOpenString=Contexto inicial,ubicación JNDI,parámetros_opcionales ThreadOfControl=THREAD
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:
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
Para obtener más información, consulte el manual System Administration Guide del Centro de información en línea de WebSphere MQ Versión 6 o el manual de la Versión 5.3 en página web de la biblioteca de WebSphere MQ.
Para utilizar el mismo gestor de colas para el intermediario y el proveedor JMS, asegúrese de que la instalación de WebSphere MQ está en el nivel mínimo requerido: Versión 5.3 CSD12 o Versión 6.0 Fixpack 1.
Para utilizar el mismo gestor de colas para el intermediario y el proveedor de JMS, asegúrese de que la instalación WebSphere MQ está en el nivel mínimo requerido: WebSphere MQ Versión 6.0 Fix Pack 1 o superior para XA si se desea utilizar el mismo gestor de colas para el intermediario y el proveedor.
El control de punto de sincronismo 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 .
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. Para visualizar las propiedades del nodo en el diálogo Propiedades, efectúe una doble pulsación en el nodo o pulse con el botón derecho del ratón sobre el nodo y pulse 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 por omisión | 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 por omisión | Descripción |
---|---|---|---|---|
Cola de origen | No | No | 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. |
Tema de suscripción | No | No | Deseleccionado | 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.
|
ID de suscripción duradera | No | No | 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.
|
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Fábrica de contexto inicial | Sí | Sí | com.sun.jndi.fscontext. RefFSContextFactory | Punto de partida para un espacio de nombres
JNDI.
Entre un valor de Fábrica de contexto inicial. Una aplicación JMS utiliza el contexto inicial para obtener y buscar los objetos JNDI administrados para el proveedor JMS. El valor predeterminado es com.sun.jndi.fscontext.RefFSContextFactory, que define la Fábrica de contexto inicial 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. |
Enlaces JNDI de ubicación | Sí | 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. |
|
Nombre de fábrica de conexión | Sí | Sí | El nombre de la fábrica de conexión que utiliza el nodo JMSInput para crear una conexión con el proveedor JMS. Este nombre ya debe existir en el archivo de enlaces. | |
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. | |
Umbral de restituciones | 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. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Dominio de mensajes | No | No | Dominio que se utiliza para analizar el mensaje de
entrada.
Si Dominio de
mensajes se deja en blanco, el nodo JMSInput determina el dominio
de mensajes de
una de dos formas:
Para obtener más información, consulte
Orden de prioridad para derivar el dominio de mensajes.
|
|
Conjunto de mensajes | No | No | Nombre o identificador del conjunto de mensajes en
el que se define el mensaje de entrada. Si utiliza el analizador
MRM o IDOC, seleccione el Conjunto de
mensajes que desea utilizar. Esta lista se
llena con conjuntos de mensajes disponibles cuando se selecciona
MRM o IDOC como Dominio de
mensajes. Deje Conjunto de mensajes en blanco para analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB. |
|
Tipo de mensaje | No | No | Nombre del mensaje de entrada. Si está utilizando el analizador MRM, seleccione el mensaje que desee en la lista de
Tipo de mensaje. Esta lista se llena con los mensajes definidos en el
Conjunto de mensajes que se ha seleccionado. Deje en blanco Tipo de mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME, BLOB e IDOC. |
|
Formato del mensaje | No | No | Nombre del formato físico del mensaje de entrada. Si utiliza el analizador MRM o IDOC, seleccione el formato
del mensaje en la lista de Formato del mensaje. Esta lista incluye todos los formatos físicos que se han definido para este Conjunto
de mensajes. Deje en blanco Formato del mensaje para los analizadores XML, XMLNS, XMLNSC, JMS, MIME y BLOB. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A petición | 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 petición. Este
valor hace que se retarde la validación hasta que el análisis parcial
analiza el mensaje.
|
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | Deseleccionado | Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si se establece esta propiedad, los datos del mensaje aparecen bajo XMLNSC en 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 | Deseleccionado | 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 | Deseleccionado | 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 | Deseleccionado | 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. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Propiedad de la aplicación | No | Sí | 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, entre un valor 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. Si desea ver una descripción de cómo crear el selector de mensajes JMS, consulte Selector de mensajes JMS. |
|
Indicación de la hora | No | Sí | 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, entre un valor 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 | Sí | 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 | Sí | 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, entre un valor para Prioridad. Los valores válidos de Prioridad van de 0 (el más bajo) a 9 (el más alto); por ejemplo, entre 5 para recibir mensajes con la 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 entre 4 y 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 | Sí | 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, entre un valor para ID de mensaje. Entre un ID de mensaje específico o entre un selector condicional; por ejemplo, entre > WMBRK123456 para devolver mensajes en los que el ID de mensaje sea 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 | Sí | Si es necesario que el proveedor JMS filtre mensajes basándose en la cabecera
JMSRedelivered, entre un valor para Reentregado:
|
|
ID de correlación | No | Sí | 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, entre un valor para ID de correlación. Entre un ID de correlación o entre una serie condicional; por ejemplo WMBRKABCDEFG devuelve mensajes con un ID de correlación que coincida con ese 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 por omisión | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | ninguno | Esta propiedad controla si el mensaje de entrada se recibe bajo punto de sincronismo externo,
punto de sincronismo local o fuera de punto de sincronismo.
|
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
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. |
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:
|
Incluir todas las limitaciones de valor | No | No | Seleccionado | Esta propiedad no se puede editar. Las comprobaciones de restricción de valor básicas se incluyen en la validación de Contenido y valor. |
Arreglo | No | No | Ninguno | Esta propiedad no se puede editar. |