Utilizar el nodo JMSReply para enviar mensajes a destinos JMS.
Este tema contiene las siguientes secciones:
El nodo JMSReply tiene una función similar al nodo JMSOutput, pero el nodo JMSReply sólo envía mensajes JMS al destino de respuesta que se proporciona en el campo de cabecera JMSReplyTo del árbol de mensajes JMS. Utilice el nodo JMSReply cuando desee tratar un mensaje JMS que se genera a partir de un flujo de mensajes como respuesta a un mensaje de entrada JMS y donde no tiene otros requisitos de direccionamiento.
El nodo JMSReply se encuentra en la bandeja JMS de la paleta y está representado en el WebSphere Message Broker Toolkit mediante el siguiente icono:
Suponga que crea un flujo de mensajes en el que un mensaje de nodo JMSInput obtiene mensajes punto a punto de un destino JMS denominado MyJMSInputQueue. El flujo de mensajes actualiza una base de datos utilizando el contenido del mensaje, luego responde a un destino JMS denominado MyJMSReplyQueue, que se establece por la aplicación que la genera en la cabecera JMSReplyTo del mensaje de entrada.
En un escenario similar para el modelo de mensaje de publicación/suscripción, un nodo JMSInput se suscribe a TopicA y el nodo JMSReply se publica en el destino TopicB, que se recuperó de la cabecera JMSReplyTo del mensaje de entrada.
La función cciOutputMessageCallback se puede registrar como una devolución de llamada y se invoca siempre que un nodo JMSReply envía un mensaje. Consulte el apartado cciOutputMessageCallback.
Si el estado de la salida de usuario está activo, se invoca la función cciOutputMessageCallback para cada mensaje de salida que se envíe satisfactoriamente desde un nodo JMSReply en el que está registrada la devolución de llamada.
Si el nodo proporciona información de WrittenDestination en el árbol Entorno local, la devolución de llamada se invoca después de que se crea esta información. Consulte el apartado Utilización de variables LocalEnvironment con nodos JMSOutput y JMSReply.
Conecte un nodo Compute al terminal de salida (Out) de un nodo JMSReply e interrogue la lista WrittenDestination. Para obtener más información, consulte Ver el árbol lógico de mensaje en la salida de rastreo.
WrittenDestination = (
JMS = (
DestinationData = (
destinationName = 'queue://jmsQueue1'
initialContext = 'com.sun.jndi.fscontext.RefFSContextFactory'
JMSMessageID = ID:414d512054657374514d2020202020206ab98b4520017a02'
JMSCorrelationID = 'ABCDEFGHIJKLMNOPQRSTUVW'
)
)
)
Cuando haya colocado una instancia del nodo JMSReply 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. Todas las propiedades obligatorias que no tienen un valor predeterminado aparecen con un asterisco.
Los terminales del nodo JMSReply 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. |
Las tablas siguientes describe 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 predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo | El nombre del nodo. |
Descripción corta | No | No | Una 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 predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Enviar a lista de destinos en entorno local | No | Sí | No seleccionado | Si ha creado una lista de destinos JMS en el entorno local, seleccione este recuadro de selección para utilizar la lista de destinos. Si no selecciona ese recuadro de selección, el nodo utiliza el destino JMS configurado. Si marca este recuadro de selección pero no ha creado ninguna lista de destinos JMS en el entorno local, el nodo utilizará el destino JMS configurado. | useDistList |
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Nombre del proveedor JMS | Sí | No | WebSphere MQ | Seleccione un nombre de proveedor JMS en la lista o especifique el nombre que desee. Cuando se selecciona un nombre en la lista,
la propiedad Fábrica de contexto inicial se
actualiza automáticamente con la clase Java™ pertinente. Si especifica su propio nombre de proveedor JMS, también debe especificar un valor para la Fábrica de contexto inicial. El
valor predeterminado es WebSphere MQ. De forma alternativa, puede especifiar el Servicio configurable de JMSProviders. |
|
Fábrica de contexto inicial | No | Sí |
|
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. Si selecciona un nombre de proveedor JMS en la
lista en Nombre del proveedor
JMS, la propiedad Fábrica de
contexto inicial se actualiza automáticamente con la clase
Java pertinente. Si especifica su
propio nombre de proveedor JMS, también debe especificar un valor para la
Fábrica de contexto inicial. El
valor predeterminado de
define la fábrica de contexto inicial
basada en archivo para el proveedor JMS de
WebSphere MQ.Si el nodo se ha establecido para utilizar su propio proveedor JMS, y la correspondiente Propiedad de servicios configurables de la definiciónmqsichangeproperties tiene el conjunto de atributos InitialContextFactory, se altera temporalmente el valor del nodo. |
initialContextFactory |
Enlaces JNDI de ubicación | No | Sí | Esta propiedad 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 administrados en JNDI
utilizados por el nodo JMSReply. 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. Si el nodo se ha establecido para utilizar su propio proveedor JMS y la correspondiente Propiedad de servicios configurables de la definición mqsichangeproperties tiene el conjunto de atributos jndiBindingsLocation, se altera temporalmente el valor del nodo. |
locationJndiBindings | |
Nombre de fábrica de conexión | No | Sí | Nombre de la fábrica de conexión utilizado por el nodo JMSReply para crear una conexión con el proveedor JMS. Este nombre ya debe existir en el archivo de enlaces. | connectionFactoryName |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nuevo ID correlación | No | Sí | No seleccionado | Si se necesita el nodo JMSReply para generar un nuevo ID de correlación para el mensaje, seleccione el recuadro. De forma predeterminada,el recuadro no está seleccionado; si lo deja 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 mensajes. |
Modalidad de transacción | No | No | No | Esta propiedad controla si el mensaje se recibe
bajo una transacción JMS. Los valores válidos son
Sí y No.
|
Modalidad de entrega | No | Sí | Automática | Esta propiedad controla la modalidad de
persistencia que utiliza un proveedor JMS para un mensaje. Los valores válidos son:
|
Caducidad del mensaje (ms) | Sí | 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. Seleccione Heredar de cabecera o especifique
un entero que represente un número de milisegundos. Si selecciona Heredar de cabecera, la propiedad heredará el valor del
campo JMSExpiry en el mensaje JMS que se encuentra en la siguiente ubicación:
|
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
JMSReply. Seleccione un valor entre 0 (prioridad más baja) y 9 (prioridad más alta) o seleccione Heredar de cabecera. El valor predeterminado 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 selecciona Heredar de cabecera, la
propiedad heredará el valor del campo JMSPriority en el mensaje JMS que se encuentra en la siguiente ubicación:
|
Tipo de mensaje | No | Sí | TextMessage | Esta propiedad controla la clase del mensaje de salida JMS. El valor predeterminado es
TextMessage.
Los valores válidos son:
|
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Validar | No | Sí | Heredar | Esta propiedad controla si tiene lugar la validación. Los valores válidos son:
|
validateMaster |
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:
|
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Sucesos | No | No | Ninguno | Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y
Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles. Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado. |