Nodo JMSOutput

Este tema contiene las secciones siguientes:

Finalidad

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 área de trabajo mediante el icono siguiente:

Icono de nodo JMSOutput

Utilización del nodo JMSOuput en un flujo de mensajes

El ejemplo de Ejemplo Nodos JMS contiene un flujo de mensajes en el que se utiliza el nodo JMSOutput. Consulte este ejemplo para ver cómo se debe utilizar el nodo JMSOutput.

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 tiene que incluir un nodo JMSInput. Sin embargo, 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.

Cómo dejar el cliente de proveedor de JMS disponible para los nodos JMS

Para las plataformas distribuidas, 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.

Para z/OS, no hay ningún directorio de clases compartidas. En lugar de ello, debe especificar cada archivo .jar java de proveedor JMS en la vía de acceso de clase en el miembro BIPPROF del PDS (Partitioned Data Set - Conjunto de datos particionado) del intermediario. A continuación, actualice LIBPATH con las bibliotecas nativas y someta el trabajo BIPGEN JCL para actualizar el ENVFILE de intermediario.

Configuración del nodo JMSOutput

Cuando haya puesto una instancia del nodo JMSOutput en un flujo de mensajes, puede configurarlo. Pulse con el botón derecho del ratón el nodo en la vista del editor y pulse 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.

Configure el nodo JMSOutput como se indica a continuación:

  1. Seleccione Básico en el navegador del diálogo de propiedades y complete las propiedades siguientes:
    • 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 por omisión 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.

    • Entre un valor para los Enlaces JNDI de ubicación. Este valor especifica la vía de acceso de sistema de archivos o la ubicación LDAP para el archivo de enlaces. El archivo de enlaces contiene definiciones para los objetos JNDI administrados utilizados por el nodo JMSInput.

      Al entrar un valor para Enlaces JNDI de ubicación, asegúrese de seguir las instrucciones siguientes:

      • Construya el archivo de enlaces antes de desplegar un flujo de mensajes que contenga un nodo JMSInput.
      • No incluya en este campo el nombre del archivo de enlaces.
      • Si ha especificado una ubicación LDAP que necesite autenticación, deberá configurar por separado el principal (id de usuario) LDAP y los credenciales (contraseña) LDAP. Estos valores se configuran a nivel de intermediario. Para obtener información sobre cómo configurar estos valores, consulte los mandatos mqsicreatebroker y mqsichangebroker.
      • El valor de serie de caracteres debe incluir la palabra clave inicial, que es una de las siguientes: file:/ , iiop:/ o ldap:/.

      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.

    • Entre un Nombre de fábrica de conexiones. El nodo JMSInput utiliza el nombre de fábrica de conexiones para crear una conexión con el proveedor JMS. Este nombre ya debe existir en el archivo de enlaces.
  2. Si el nodo JMSOuput se debe utilizar para suscribirse a un tema, seleccione Pub/Susc en el navegador del diálogo de propiedades.
    • Entre el nombre del Tema del publicador.
      • Si se configura esta propiedad, el nodo sólo operará en el dominio de mensajes de publicación/suscripción.
      • Esta propiedad se excluye mutuamente con Cola de destino en la sección de propiedades de Punto a punto.
      • El nombre de Tema del publicador debe cumplir con los estándares del proveedor JMS utilizado por el nodo.
  3. Si el nodo JMSOutput se va a utilizar para recibir mensajes de punto a punto, seleccione Punto a punto en el navegador del diálogo de propiedades.
    • Entre el nombre de Cola de Destino para el nombre de cola JMS que se lista en el archivo de enlaces.
  4. Seleccione Petición en el navegador del diálogo de propiedades y complete las propiedades siguientes:
    • Seleccione una opción en la lista desplegable Modalidad de destino.
      • El valor por omisión es Nombre de destino. Si se selecciona esto, el mensaje se trata como una petición de un datagrama y se destina al Tema de publicación o a la Cola de destino.
      • Si el mensaje se debe tratar como una respuesta, seleccione Nombre de destino de respuesta . El proveedor JMS se proporciona con el valor de JMSReplyTo de la sección JMSTransport_Header_values del árbol de mensaje.
    • Entre un valor para Destino de respuesta. Puede entrar un destino JMS, que puede ser una cola de suscripciones o un tema de destino. El Destino de respuesta 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.

      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.

  5. Seleccione Avanzadas en el navegador del diálogo de propiedades.
    • Si se necesita un Nuevo ID correlación, marque el recuadro de selección.
    • Para definir las características transaccionales de cómo se maneja el mensaje, seleccione en la lista desplegable Modalidad de transacción. Puede elegir una de las opciones siguientes:
      • Seleccione ninguno si el mensaje de salida se va a tratar como no persistente. En este caso el mensaje se enviará utilizando una sesión JMS sin transacciones que se crea utilizando el distintivo Session.AUTO_ACKNOWLEDGE.
      • Seleccione local si el nodo Input que ha recibido el mensaje debe coordinar la confirmación o la restitución de los mensajes JMS enviados por el nodo JMSOutput, junto con cualquier otro recurso, por ejemplo DB2 o WebSphere MQ, que realice trabajo en el flujo de mensajes. En este caso el nodo utilizará una sesión JMS con transacciones.
      • Seleccione global si el nodo JMSOutput debe participar en la transacción de flujo de mensajes global que el coordinador de puntos de sincronismo externo del intermediario va a gestionar. El coordinador de puntos de sincronismo es el Gestor de colas del intermediario en plataformas distribuidas y RRS (Resource Recovery Services - Servicios de recuperación de recursos) en z/OS. En este caso, los mensajes recibidos por el nodo se coordinarán globalmente utilizando una sesión XA JMS.
    • Puede establecer la persistencia del mensaje JMS de salida utilizando la propiedad Modalidad de entrega. Seleccione una opción en la lista desplegable. Puede elegir entre:
      • No persistente para indicar al proveedor JMS que el mensaje se debe tratar como no persistente.
      • Persistente para marcar los mensajes como persistentes en el proveedor JMS y hacer que se conserven hasta que se entreguen satisfactoriamente a una aplicación cliente JMS receptora.
    • Entre un valor para Caducidad del mensaje para solicitar que el proveedor JMS conserve el mensaje JMS de salida durante un tiempo especificado.

      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.

    • Para asignar una importancia relativa al mensaje, seleccione una opción en la lista desplegable Prioridad del mensaje. Este valor lo puede utilizar para la selección de mensajes una aplicación cliente JMS receptora o un nodo JMSOutput.

      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.

  6. Seleccione Validación en el navegador de diálogo de propiedades para establecer las propiedades de nodo que se relacionan con la validación de mensajes de salida.
    • Seleccione una opción de la lista desplegable Validar. Puede elegir entre:
      • Ninguna
      • Contenido y valor
      • Contenido
      • Heredar
      Si selecciona Contenido y valor o Contenido, seleccione una Acción para anomalía en la lista desplegable. Puede elegir entre:
      • Rastreo de usuario
      • Anotaciones de error locales
      • Excepción (valor por omisión)
      • Lista de excepciones

    Si desea ver más información detallada, consulte los apartados Validación de mensajes y Propiedades de validación para mensajes del dominio MRM.

  7. Seleccione Descripción en el navegador del diálogo de propiedades para entrar una descripción breve y/o una descripción larga.
  8. Pulse Aplicar para efectuar los cambios en el nodo JMSOutput sin cerrar el diálogo de propiedades. Pulse Aceptar para aplicar los cambios y cerrar el diálogo de propiedades.

    Pulse Cancelar para cerrar el diálogo y eliminar todos los cambios que ha efectuado en las propiedades.

Conexión de los terminales

Conecte el terminal de entrada del nodo JMSOutput al nodo desde el que se direccionan los mensajes de salida.

Conecte el terminal de salida de este nodo a otro nodo del flujo de mensajes si desea procesar adicionalmente el mensaje, procesar errores o enviar el mensaje a un destino adicional.

Configuración de transacciones coordinadas

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 reciben bajo el punto de sincronización.

  • Si lo establece en global, el mensaje se recibe bajo la coordinación de punto de sincronización externo, es decir, dentro de una unidad de trabajo de WebSphere MQ. Cualquier mensaje enviado posteriormente por un nodo de salida en la misma instancia del flujo de mensajes, se transferirá bajo punto de sincronización, a menos que el nodo de salida haya modificado explícitamente esta operación.
  • Si lo establece en local, el mensaje se envía bajo el control de punto de sincronización local del nodo JMSOutput. Los mensajes enviados subsiguientemente por un nodo de salida en el flujo no se ponen bajo el punto de sincronización local, a menos que un nodo de salida individual haya especificado que el mensaje se debe poner bajo el punto de sincronización local.
  • Si lo establece en ninguno, el mensaje no se envía bajo el punto de sincronización. Cualquier mensaje enviado posteriormente por un nodo de salida en el flujo de mensajes, no se transfiere bajo punto de sincronización, a menos que un nodo de salida determinado haya especificado que el mensaje debe transferirse bajo 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 plataformas distribuidas (no z/OS), el proveedor JMS de WebSphere MQ proporciona un archivo jar adicional com.ibm,mqetclient.jar. Este jar también se debe añadir al directorio shared_classes de intermediario. Consulte Cómo dejar el cliente de proveedor JMS disponible para los nodos JMS en este tema.

Es necesario realizar pasos de configuración adicionales cuando se deben recibir mensajes bajo el punto de sincronización externo. Sólo es necesario aplicar estos pasos la primera vez que se despliega un JMSOutput o JMSInput en el intermediario para un proveedor JMS determinado:
  • En plataformas distribuidas, el coordinador de punto de sincronización externo para el intermediario es WebSphere MQ. Antes de desplegar un flujo de mensajes donde la Coordinación de transacciones se ha establecido en Global, modifique el archivo .ini del gestor de colas para incluir definiciones adicionales para cada Gestor de recursos de proveedor JMS que participe en transacciones coordinadas globalmente.
    • En Windows, los valores se configuran bajo la pestaña de propiedades del recurso de servicios de WebSphere MQ. Consulte la Guía de administración del sistema WebSphere MQ para obtener más información.
      Establezca la propiedad SwitchFile en el valor siguiente:
      <Vía de acceso de instalación de intermediario>/bin/ JMSSwitch.dll
      XAOpenString=<Contexto inicial >,<ubicación JNDI>, <Opcional>
      ThreadOfControl=THREAD
    • En plataformas distribuidas (excepto Windows) añada una sección al archivo “ini” del gestor de colas para cada proveedor JMS. Consulte la Guía de administración del sistema WebSphere MQ para obtener más información.
      Por ejemplo,
      XAResourceManager:
      Name=<Nombre_Proveedor_Jms>
      SwitchFile=/<Vía de acceso de instalación de intermediario>/bin/ JMSSwitch.so
      XAOpenString=<Contexto inicial >,<ubicación JNDI>, <Opcional>
      ThreadOfControl=THREAD
      Donde

      nombre 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 valores para XAOpenString son los indicados a continuación:
      • Contexto inicial es el valor que se establece en la propiedad básica del nodo JMSInput Fábrica de contexto inicial .
      • ubicación JNDI es el valor que se establece en la propiedad básica de nodo JMSInput Ubicación de JNDI. Este valor debe incluir la palabra clave inicial file:/, iiop:/ o ldap:/
      Los parámetros siguientes son opcionales:
      • Principal LDAP que coincide con el valor que se establece para el intermediario utilizando los mandatos mqsicreatebroker o mqsichangebroker.
      • Credenciales LDAP que coincide con el valor que se establece para el intermediario utilizando el mandato mqsicreatebroker o mqsichangebroker.
      • Nombre de fábrica de conexiones de recuperación que es la fábrica de conexiones administrada JNDI que se define en el archivo de enlaces. Si no se especifica un valor, se deberá añadir al archivo de enlaces un valor por omisión para recoverXAQCF. En cualquiera de los casos, la fábrica de conexiones de recuperación se debe definir como una fábrica de conexiones de cola XA para el proveedor JMS que está asociado con la Fábrica de contexto inicial.

      Los parámetros opcionales están separados por coma y son posicionales. Por consiguiente, los parámetros que faltan deben representarse con una coma.

      1. Actualice la variable de entorno Java CLASSPATH para el Gestor de colas del intermediario a fin de incluir una referencia a xarecovery.jar. Por ejemplo,
        <Vía de acceso de instalación de intermediario>/classes/xarecovery.jar
      2. Actualice la variable de entorno PATH de Java para que el Gestor de colas del intermediario apunte al directorio bin, que es donde está ubicado el archivo de conmutación. Por ejemplo,
        <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 FixPack 1.

    • En z/OS, el gestor de punto de sincronización externo es RRS (Resource Recovery Services - Servicios de recuperación de recursos). El único proveedor JMS que se soporta en z/OS es JMS de WebSphere MQ. La única opción de transporte que se soporta para JMS de WebSphere MQ en z/OS es la opción de enlace (Bind).

      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 .

Terminales y propiedades

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   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 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 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 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 valores 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 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.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 04/05/2006
ac24830_