Utilizar el nodo JMSOutput para enviar mensajes a destinos JMS. El nodo JMSOutput actúa como productor de mensajes JMS y puede publicar los seis tipos de mensajes que están 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 representa en el entorno de trabajo mediante el icono siguiente:
Los flujos de mensajes que manejan los mensajes recibidos de las conexiones a proveedores JMS deben empezar siempre con un nodo JMSInput. Si incluye el nodo JMSOutput en un flujo de mensajes, no es necesario incluir un nodo JMSInput, pero si no incluye un nodo JMSInput, deberá incluir el nodo MQJMSTransform para transformar el mensaje al formato que el nodo JMSOutput espera.
Si está propagando mensajes JMS y creando un flujo de mensajes para utilizarlo como un subflujo, debe utilizar una instancia del nodo JMSOutput como último nodo a fin de crear un terminal de salida para el subflujo.
Para los sistemas distribuidos, 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.
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 WMQSeries.
jndi:\\jmsQ4donde jmsQ4 es el nombre del objeto administrado JNDI.
Si se utiliza este método, se da una pequeña sobrecarga en el rendimiento debido a la necesidad de buscar el objeto administrado en JNDI.
Si la intención es permitir que el nodo JMSOutput establezca dinámicamente la propiedad JMSReplyTo en el mensaje saliente, deje el atributo Destino de respuesta en blanco y establezca el valor JMSReplyTo en MbMessage mediante un nodo Compute o un nodo JavaCompute.
El nodo resuelve el nombre del objeto administrado 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.
Una vez que se ha puesto una instancia del nodo JMSOutput en un flujo de mensajes, puede configurarlo pulsando con el botón derecho del ratón en el nodo en la vista Editor y pulsando Propiedades. En el diálogo de propiedades aparecen las propiedades básicas del nodo.
Todas las propiedades obligatorias que no tienen valor por omisión aparecen con un asterisco en el recuadro de diálogo de propiedades.
Configure el nodo JMSOutput como se indica a continuación:
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.
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.
Entre un valor en milisegundos para especificar durante cuánto tiempo el proveedor JMS conservará el mensaje. Se utiliza el valor por omisión 0 para indicar que el mensaje no debe caducar.
Entre un valor, teniendo en cuenta que los valores válidos para la prioridad de mensaje son de 0 (el más bajo) a 9 (el más alto). El valor por omisión es 4, que indica prioridad media. Las prioridades en el rango de 0 a 4 están relacionadas con la entrega normal. Las prioridades en el rango de 5 a 9 están relacionadas con las graduaciones de entrega urgente.
Si desea ver más información detallada, consulte los apartados Validar mensajes y Propiedades de validación para mensajes del dominio MRM.
Pulse Cancelar para cerrar el recuadro de diálogo y desechar todos los cambios que haya efectuado en las propiedades.
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 si desea procesar adicionalmente el mensaje, procesar errores o enviar el mensaje a un destino adicional.
Cuando se incluye un nodo JMSOutput en un flujo de mensajes, el valor que se establece para la Modalidad de transacción define si los mensajes se envían 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 sistemas distribuidos, el proveedor JMS de WebSphere MQ proporciona un archivo jar adicional com.ibm,mqetclient.jar, que también se debe añadir al directorio shared_classes del 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.
<Vía de acceso de instalación de intermediario>/classes/xarecovery.jar
<Vía de acceso de instalación de intermediario>/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.0 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 .
En la tabla siguiente se describen los terminales del nodo JMSOutput.
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 O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si se ha de entrar un valor cuando no hay definido ningún valor por omisión), la columna C indica si la propiedad es configurable (se puede cambiar el valor cuando se añade el flujo de mensajes al archivo bar para desplegarlo).
En la tabla siguiente se describen las propiedades básicas del nodo JMSOutput.
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 | No | Vía de acceso de sistema o ubicación LDAP para el archivo de enlaces. | ||
Nombre de fábrica de conexiones | No | Nombre de la fábrica de conexiones utilizado por el nodo JMSOutput para crear una conexión con el proveedor JMS. |
En la tabla siguiente se describen las propiedades de publicación/suscripción del nodo JMSOutput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Tema de publicador | No | Nombre del tema del que el nodo recibe los mensajes publicados. |
En la tabla siguiente se describen las propiedades de punto a punto del nodo JMSOutput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Cola de destino | No | Nombre de la cola en la que el nodo publica los mensajes de salida. |
En la tabla siguiente se describen las propiedades de petición del nodo JMSOutput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Modalidad de destino | No | Nombre de destino | Esta propiedad se utiliza para determinar si el mensaje se debe tratar como una petición de un datagrama o se debe tratar como una respuesta. | |
Destino de respuesta | No | Este valor es 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. |
En la tabla siguiente se describen las propiedades avanzadas del nodo JMSOutput.
Propiedad | O | C | Valor por omisión | Descripción |
---|---|---|---|---|
Nuevo ID correlación | No | Esta propiedad se selecciona, si se necesita un Nuevo ID correlació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. Los valores válidos son Ninguno, local y global. |
Modalidad de entrega | No | No persistente | Selector de mensajes que filtrará los mensajes de acuerdo con la modalidad de entrada de mensajes. | |
Caducidad del mensaje | No | 0 | Este valor de propiedad sirve para solicitar que el proveedor JMS
conserve el mensaje JMS de salida durante un tiempo especificado. Los valores son en milisegundos y se utiliza el valor por omisión 0 para indicar que el mensaje no debe caducar. |
|
Prioridad del mensaje | No | 4 | Este valor de propiedad asigna una importancia relativa al mensaje. Este valor lo puede utilizar para la selección de mensajes una aplicación cliente JMS receptora o un nodo JMSOutput. |
En la tabla siguiente se describen las propiedades de validación del nodo JMSOutput.
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í | Ninguna | 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 | Ninguna | Esta propiedad no se puede editar. |
En la tabla siguiente se describen las propiedades de descripción del nodo JMSOutput.
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. |