Utilice el nodo JMSOutput para enviar mensajes a destinos JMS.
Este tema contiene las secciones siguientes:
El nodo JMSOutput actúa como productor de mensajes JMS publicar los seis tipos de mensajes definidos en Especificación Java Message Service, versión 1.1. Los mensajes se publican utilizando llamadas de método, que se describen en la especificación JMS.
El nodo JMSOutput se encuentra en la bandeja JMS de la paleta y está representado en el entorno de trabajo mediante el siguiente icono:
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 el nodo JMSOutput en un flujo de mensajes, no será necesario que incluya un nodo JMSInput: pero si no incluye un nodo JMSInput, deberá incluir el nodo MQJMSTransform para dar al mensaje el formato que espera el nodo JMSOutput.
Si está propagando mensajes JMS y creando un flujo de mensajes para utilizarlo como un subflujo, utilice una instancia del nodo JMSOutput como último nodo para crear un terminal de salida para el subflujo.
SET OutputRoot.JMSTransport.Transport_Folders.Message_MetaData.PayloadType=valor de carga útil
Para obtener más información sobre el árbol de mensaje JMS y los valores de carga útil, consulte Representación de mensajes a través del transporte JMS.
Los servicios configurables están definidos para una serie de JMSProviders. 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.
Es posible que el emisor de un mensaje desee que el destinatario responda a ese mensaje. En este caso, el mensaje de JMSOutput puede tratar el mensaje de salida como una respuesta y direccionarlo según el valor obtenido de la propiedad JMSReplyTo en el mensaje de petición. Puede modificar el valor de la propiedad JMSReplyTo en el MbMessage; por ejemplo, utilizando un nodo Compute o un nodo JavaCompute. Esta acción permite el direccionamiento dinámico de mensajes desde el nodo JMSOutput. El nodo envía el mensaje al nombre de destino JMS que se establece en el campo JMSReplyTo del árbol MbMessage.
queue://QM_mn2/myJMSQueue4En este caso, el valor es la representación específica del proveedor JMS de un destino JMS para el proveedor JMS de WebSphere MQ.
jndi:\\jmsQ4donde jmsQ4 es el nombre del objeto administrado en JNDI.
La utilización de este método puede afectar el rendimiento, debido a la necesidad de buscar el objeto administrado en JNDI.
Para que el nodo JMSOutput pueda establecer la propiedad JMSReplyTo dinámicamente en el mensaje de salida, deje en blanco el campo Destino de respuesta en el separador Básicas y establezca el valor de JMSReplyTo en MbMessage utilizando un nodo Compute o un nodo JavaCompute.
El nodo resuelve el nombre del objeto administrado en JNDI, que se proporciona en el Tema de publicación o en la Cola de destino y envía el mensaje a ese destino JMS.
Cuando se incluye un nodo JMSOutput en un flujo de mensajes, el valor que se establece para Modalidad de transacción define si los mensajes se envían 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 usar el mismo gestor de colas para el intermediario y el proveedor de JMS, asegúrese de que la instalación de WebSphere MQ tiene el nivel mínimo requerido: Versión 5.3 CSD12.
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 .
Conecte el terminal de entrada del nodo JMSOutput al nodo desde el que se direccionan los mensajes de salida.
Conecte el terminal de salida del nodo JMSOutput a otro nodo del flujo de mensajes para procesar adicionalmente el mensaje, procesar errores o enviar el mensaje a un destino adicional.
Cuando haya colocado una instancia del nodo JMSOutput 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 |
---|---|
In (de entrada) | El terminal de entrada que acepta un mensaje para que lo procese el nodo. |
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).
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo, JMSOutput | 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 |
---|---|---|---|---|
Enviar respuesta al destino "JMSReplyTo" de la cabecera JMS | No | Sí | No seleccionado | Si el mensaje se debe tratar como una respuesta, seleccione Enviar respuesta al destino "JMSReplyTo" de la cabecera JMS. El proveedor JMS se proporciona con el valor de JMSReplyTo de la sección JMSTransport_Header_values del árbol de mensaje. |
Cola de destino | No | Sí | Nombre de la cola en la que el nodo publica los mensajes de salida. Si va a utilizar el nodo JMSOutput para enviar mensajes punto a punto, entre el nombre de la Cola de destino para el nombre de cola JMS que se lista en el archivo de enlaces. | |
Tema de publicación | No | Sí | Nombre del tema del que el nodo recibe los mensajes publicados.
|
|
Destino de respuesta | No | Sí | El nombre del destino JMS al que la aplicación receptora debe enviar un mensaje de respuesta. Para que se devuelva un mensaje de respuesta a este destino JMS, el nombre de
destino JMS debe ser conocido en el dominio del proveedor JMS utilizado por el cliente
receptor. Puede entrar un destino JMS, que puede ser una cola de suscripciones o un tema de
destino. El valor por omisión es espacio en blanco, en cuyo caso el mensaje de salida JMS puede considerarse como un datagrama. Si el campo está en blanco, el nodo JMSOutput no espera una respuesta del cliente JMS receptor. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Fábrica de contexto inicial | Sí | Sí | com.sun.jndi.fscontext. RefFSContextFactory | Esta propiedad 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. 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 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. |
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 administrados en JNDI que utiliza el nodo
JMSOutput. Al entrar 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 administrados en JNDI, consulte la documentación que se proporciona con el proveedor JMS. |
|
Nombre de fábrica de conexiones | No | Sí | El nombre de la fábrica de conexión que utiliza el nodo JMSOutput para crear una conexión con el proveedor JMS. Este nombre ya debe existir en el archivo de enlaces. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nuevo ID correlación | No | Sí | Si se necesita el nodo JMSOutput para generar un nuevo ID de correlación para el mensaje, seleccione Nuevo ID de correlación. Si se deja el recuadro de selección sin seleccionar, el ID de correlación del mensaje de salida se toma del campo JMSCorrelationID en la sección JMSTransport_Header_Values del árbol de mensaje. | |
Modalidad de transacción | Sí | No | Ninguno | Esta propiedad controla si el mensaje de entrada se
recibe bajo punto de sincronismo.
|
Modalidad de entrega | No | Sí | No persistente | Esta propiedad controla la modalidad de
persistencia que utiliza un proveedor JMS para un mensaje. Los valores válidos son:
|
Caducidad del mensaje (ms) | No | Sí | 0 | Esta propiedad controla la longitud de tiempo, en milisegundos, para la cual el proveedor JMS conserva el mensaje JMS de salida. El valor predeterminado, 0 se utiliza para indicar que el mensaje no debe caducar. |
Prioridad del mensaje | No | Sí | 4 | Esta propiedad asigna importancia relativa al mensaje y lo puede
utilizar para la selección de mensajes una aplicación cliente JMS receptora o un nodo
JMSOutput. Los valores válidos para la prioridad de mensaje son de 0 (prioridad más baja) a 9 (prioridad más alta). El valor predeterminado es 4, que indica prioridad media. Las prioridades en el rango de 0 a 4 están relacionadas con la entrega típica. Las prioridades en el rango de 5 a 9 están relacionadas con las graduaciones de entrega urgente. |
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Validar | No | Sí | Heredar | Esta propiedad controla si tiene lugar la validación. Los valores válidos son Ninguna, Contenido, Contenido y valor y Heredar. |
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 Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Incluir todas las limitaciones de valor | No | No | Seleccionado | Esta propiedad no se puede editar. Si se selecciona el recuadro, se incluyen las comprobaciones de restricción de valor básicas en la validación de Contenido y valor. |
Arreglo | No | No | Ninguno | Esta propiedad no se puede editar. |