Utilice el nodo MQInput para recibir mensajes de clientes que se conecten al intermediario utilizando la WebSphere MQ Enterprise Transport y que utilizan las interfaces de programación de aplicaciones MQI y AMI.
Este tema contiene las secciones siguientes:
El nodo MQInput recibe un mensaje de una cola de mensajes WebSphere MQ definida en el gestor de colas del intermediario. El nodo utiliza MQGET para leer un mensaje de la cola especificada y establecer el entorno de proceso para el mensaje. Si es adecuado, puede definir la cola de entrada como una cola compartida o una cola de clúster de WebSphere MQ.
Los flujos de mensajes que manejan los mensajes que se reciben a través de conexiones WebSphere MQ han de empezar siempre con un nodo MQInput. Puede establecer las propiedades del nodo MQInput para controlar el modo en que se reciben los mensajes, haciendo que se establezcan las opciones MQGET apropiadas. Por ejemplo, puede indicar que un mensaje debe procesarse bajo control de transacciones. También puede solicitar que se realice la conversión de datos al recibir cada mensaje de entrada.
Si incluye un nodo de salida en un flujo de mensajes que empieza con un nodo MQInput, el nodo de salida podrá ser cualquiera de los nodos de salida soportados, incluidos los nodos de salida definidos por el usuario; no es necesario incluir un nodo MQOutput. Puede crear un flujo de mensajes que reciba mensajes de clientes WebSphere MQ y genere mensajes para clientes que utilizan cualquiera de los transportes soportados para conectarse al intermediario, porque puede configurar el flujo de mensajes para solicitar que el intermediario proporcione la conversión que sea necesaria.
Si crea un flujo de mensajes para utilizarlo como subflujo, no puede utilizar un nodo de entrada estándar; debe utilizar un nodo Input como el primer nodo, para crear un terminal de entrada para el subflujo.
Si el flujo de mensajes no recibe mensajes a través de conexiones de WebSphere MQ, puede elegir uno de los nodos de entrada soportados.
El nodo MQInput se encuentra en la bandeja de WebSphere MQ de la paleta y está representado en el entorno de trabajo con el siguiente icono:
Los ejemplos sólo pueden verse cuando se utiliza el centro de información que está integrado en el Kit de herramientas de Message Brokers.
El nodo MQInput direcciona al terminal de salida (Out) todos los mensajes que recupera satisfactoriamente. Si esta acción falla, se reintenta el mensaje. Si se excede la cuenta de restituciones (según lo definido mediante el atributo BackoutThreshold de la cola de entrada), el mensaje se direcciona al terminal de anomalías (Failure); puede conectar nodos a este terminal para manejar esta condición. Si no ha conectado el terminal de anomalías, el mensaje se escribe en la cola de restitución.
Si este nodo capta este mensaje después de que se genere una excepción más adelante en el flujo de mensajes, el mensaje se direcciona al terminal de captación. Si no ha conectado el terminal de captación, el mensaje entra en un bucle continuo a través del nodo, hasta que se resuelve el problema.
Debe definir una cola de restitución o una cola de mensajes no entregados (DLQ) para evitar el bucle continuo del mensaje a través del nodo.
El tamaño del almacenamiento intermedio de MQGET lo implementa internamente el intermediario y no se puede cambiar. La siguiente descripción se proporciona únicamente a título informativo. No debe tenerla en cuenta al desarrollar los flujos de mensajes porque la implementación interna podría cambiar.
Cuando el nodo MQInput se inicializa, establece el tamaño del almacenamiento intermedio predeterminado para la primera MQGET en 4 KB. El nodo MQInput supervisa el tamaño de los mensajes y aumenta o reduce el tamaño del almacenamiento intermedio:
Por ejemplo, si el primer mensaje que el nodo recibe tiene 20 MB, y los 10 mensajes siguientes tienen 14 MB cada uno, el tamaño del almacenamiento intermedio se aumenta de 4 KB a 20 MB y permanece en 20 MB durante 10 mensajes. Sin embargo, después del décimo mensaje el tamaño del almacenamiento intermedio se reduce a 14 MB.
Cuando haya colocado un nodo MQInput en un flujo de mensajes, podrá configurarlo. Consulte 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.
Los terminales del nodo MQInput 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 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).
En la tabla siguiente se describen las propiedades de descripción del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo, MQInput | 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. |
En la tabla siguiente se describen las propiedades básicas del nodo MQInput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de cola | Sí | Sí | El nombre de la cola de entrada de WebSphere MQ de la que este nodo recupera mensajes (utilizando MQGET) para que los procese este flujo de mensajes. Debe predefinir esta cola de WebSphere MQ al gestor de colas que contiene el intermediario al que se despliega el flujo de mensajes. |
En la tabla siguiente se describen las propiedades Avanzadas del nodo MQInput. Establezca estas propiedades para determinar cómo se procesa el mensaje como, por ejemplo, sus características transaccionales. Muchas de estas propiedades corresponden a opciones de la llamada MQGET.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad de transacción | Sí | No | Sí | Esta propiedad controla si el mensaje de entrada se recibe bajo punto de sincronismo. Los valores válidos son
Automático,
Sí y
No.
|
Modalidad de orden | Sí | No | Predeterminado | El orden en el que se recuperan y procesan
los mensajes de la cola de entrada. Los valores válidos son
Valor predeterminado, Por ID de usuario y
Por orden de cola. Esta propiedad sólo tiene efecto si la propiedad de flujo de mensajes Instancias
adicionales del separador Instancias, se ha establecido en un valor mayor que
cero; es
decir, si varias hebras leen la cola de entrada. Los valores válidos son:
|
Orden lógico | Sí | No | Seleccionado | Si selecciona este recuadro, los mensajes se reciben en orden
lógico, según lo definido por WebSphere MQ. Esta opción
corresponde a la opción MQGMO_LOGICAL_ORDER de MQGMO en MQI. Si deselecciona el recuadro, los mensajes que se envían como parte de un grupo no se recibirán en un orden predeterminado. Si un intermediario espera recibir mensajes en grupos y no se ha seleccionado este recuadro de selección, o bien el orden de los mensajes de entrada no es significativo o bien el flujo de mensajes debe diseñarse para que los procese de forma adecuada. También debe seleccionar Confirmar por grupo de mensajes si desea que el proceso de mensaje no se confirme hasta que se haya recibido y procesado el último mensaje del grupo. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ
|
Todos los mensajes disponibles | Sí | No | No seleccionado | Seleccione Todos los mensajes disponibles si desea que la recuperación y
el proceso de mensajes sólo se lleven a cabo cuando estén disponibles todos los mensajes del mismo grupo. Esta propiedad se corresponde con la opción
MQGMO_ALL_MSGS_AVAILABLE de la estructura MQGMO de la MQI. Deseleccione este recuadro de selección si la recuperación de mensajes no depende de que todos los mensajes de un grupo estén disponibles antes de
que el proceso se inicie. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
Coincidir con el ID del mensaje | No | No | Un ID de mensajes debe coincidir con el ID de
mensaje en el MQMD del mensaje de entrada. Especifique un identificador de mensaje si desea que el nodo de entrada reciba sólo aquellos mensajes que contengan un valor de identificador de mensaje coincidente en el campo MsgId de MQMD. Especifique un número par de dígitos hexadecimales (los caracteres válidos son: del 0 al 9, de la A a la F y de la a a la f) de 48 dígitos como máximo. Si el identificador de mensajes asociado que especifica tiene un tamaño inferior al del campo MsgId, Coincidir con el ID del mensaje se rellena por la derecha con caracteres X'00'. Esta propiedad se corresponde con la opción MQMO_MATCH_MSG_ID de la estructura MQGMO de la MQI. Deje esta propiedad en blanco si no quiere que el nodo de entrada compruebe que el ID del mensaje coincida. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
|
Coincidir con el ID de correlación | No | No | Un ID de correlación debe coincidir con el ID de
correlación en el MQMD del mensaje de entrada. Especifique un identificador de mensaje si desea que el nodo de entrada reciba sólo aquellos mensajes que contengan un valor de identificador de correlación coincidente en el campo CorrelId de MQMD. Especifique un número par de dígitos hexadecimales (los caracteres válidos son: del 0 al 9, de la A a la F y de la a a la f) de 48 dígitos como máximo. Si al especificar el ID sobran espacios en el campo CorrelId, se rellena por la derecha con caracteres X'00'. Esta propiedad se corresponde con la opción MQMO_MATCH_CORREL_ID de la estructura MQGMO de la MQI. Deje esta propiedad en blanco si no desea que el nodo de entrada compruebe si el CorrelID coincide. Puede ver más información sobre las opciones relacionadas con esta propiedad en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 del página web de la biblioteca de WebSphere MQ |
|
Convertir | Sí | No | No seleccionado | Si selecciona este recuadro,
WebSphere MQ convierte datos en el mensaje
que va a recibirse, de acuerdo con los valores de CodedCharSetId y Encoding
definidos en el MQMD. Seleccione
Convertir si desea que
WebSphere MQ realice la conversión de
datos en el mensaje cuando éste se recupera de la cola. Esta opción es útil
si está manejando mensajes en el dominio BLOB, o está utilizando un
analizador definido por el usuario. No seleccione esta opción si va a analizar mensajes
con los dominios XML o MRM porque el analizador realiza la conversión. WebSphere MQ convierte el mensaje de entrada a la codificación y juego de caracteres codificado especificado en el MQMD que el nodo de entrada proporciona en la llamada MQGET para recuperar el mensaje de la cola de entrada. El intermediario utiliza la opción MQGMO_CONVERT en la llamada MQGET; se aplican las normas comunes para la conversión WebSphere MQ. Los valores que que especifique en las opciones Convertir codificación y Convertir ID de juego de caracteres codificado se utilizan en los campos Codificación MsgDesc y CCSID de la llamada MQGET. WebSphere MQ puede convertir el mensaje entrante sólo si el campo Formato del MQMD es un valor WebSphere MQ incorporado que identifica datos de tipo carácter, o si existe una salida de conversión de datos en WebSphere MQ. Esta opción corresponde a la opción MQGMO_CONVERT de MQGMO en MQI. Quite la marca de selección del recuadro si no desea que WebSphere MQ realice la conversión del mensaje. Si selecciona este recuadro de selección, también puede especificar:
Para obtener más información sobre la conversión de datos de WebSphere MQ, y para saber por qué debería elegir esta opción, consulte la sección Application Programming Guide de Centro de información en línea de WebSphere MQ Versión 6, o la publicación de la Versión 5.3 de página web de la biblioteca de WebSphere MQ. Si desea más información sobre los valores que puede especificar para Convertir codificación y Convertir ID de juego de caracteres codificado, consulte la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o la publicación de la Versión 5.3 en página web de la biblioteca de WebSphere MQ. |
Convertir codificación | No | No | La representación utilizada para valores numéricos en los datos del mensaje, expresada como un valor entero. Esta propiedad sólo es válida si ha seleccionado Convertir. | |
Convertir ID de juego de caracteres codificado | No | No | El identificador del juego de caracteres codificado de los datos de tipo carácter del mensaje, expresado como un valor entero. Esta propiedad sólo es válida si ha seleccionado Convertir. | |
Confirmar por grupo de mensajes | Sí | No | No seleccionado | Esta propiedad controla cuándo se confirma
una transacción al procesar mensajes que formen parte de un grupo de mensajes. Si selecciona el recuadro, la transacción se confirma
cuando se ha procesado el grupo de mensajes. Si no selecciona este recuadro, se
efectuará una confirmación para cada mensaje una vez haya sido propagado
completamente a través del flujo de mensajes. Esta propiedad sólo es relevante si ha seleccionado Orden lógico. Establezca la propiedad Modalidad de orden en Por orden de cola si los mensajes de un grupo deben recuperarse y procesarse en el orden en que se visualizan en la cola. |
Señal de serialización de z/OS | No | No | Sólo en z/OS: una señal definida por el usuario para el soporte de aplicación serializado. El valor especificado se debe ajustar a las normas para un ConnTag válido
en la estructura MQCNO de WebSphere MQ. Especifique una señal de serialización si desea utilizar el acceso serializado a los recursos compartidos que proporciona WebSphere MQ. El valor que facilite para la señal de serialización ha de ajustarse a los normas descritas en la publicación Application Programming Reference de Centro de información en línea de WebSphere MQ Versión 6, o en la publicación de la Versión 5.3 de página web de la biblioteca de WebSphere MQ. Para obtener más información sobre serialización y compartimiento de colas en z/OS, consulte la publicación Concepts and Planning Guide de Centro de información en línea de WebSphere MQ Versión 6o la publicación de la Versión 5.3 en página web de la biblioteca de WebSphere MQ. |
|
Tema | No | Sí | El tema predeterminado del mensaje de entrada. Puede asociar un mensaje con un tema de publicación/suscripción utilizando esta propiedad. Como nombre del tema puede entrar cualquier número de caracteres. Cuando los mensajes pasan a través del nodo MQInput adoptan el nombre del
tema que se ha especificado. (Si está utilizando publicación/suscripción,
puede suscribirse a un tema y ver todos los mensajes que han pasado a través del nodo
MQInput y se han publicado con dicho nombre de
tema.) Si el mensaje de entrada tiene una cabecera MQRFH2, no es necesario
establecer un valor para la propiedad
Topic porque el valor puede
obtenerse de la carpeta <psc> en la cabecera
MQRFH2; por ejemplo: <psc><Topic>stockquote</Topic></psc>Si establece un valor para la propiedad Topic y este valor es distinto del valor de <Topic> en la cabecera MQRFH2, tiene prioridad el valor de la cabecera MQRFH2. |