Utilización del escucha de mensajes de respuesta asíncrona JMS de JAX-WS

JAX-WS (API de Java™ para servicios web XML) incluye una escucha de mensajes de respuesta asíncrona de Java Message Service (JMS), que se utiliza para recibir respuestas a solicitudes JAX-WS asíncronas que utiliza el transporte JMS. La escucha de mensajes de respuesta asíncrona de JMS se utiliza en entornos de servidores de aplicaciones y clientes de aplicaciones.

Antes de empezar

JAX-WS proporciona soporte para la invocación de operaciones de servicio web de forma asíncrona mediante el uso de un retorno de llamada o un modelo de sondeo. Cuando el cliente JAX-WS utiliza el transporte JMS para invocar operaciones asíncronas, las respuestas se reciben por medio de la escucha de mensajes de respuesta asíncrona. Para saber más del uso del modelo de invocación de cliente asíncrono JAX-WS, consulte la invocación asíncrona de servicios web JAX-WS.

Acerca de esta tarea

La escucha de mensajes de respuesta asíncrona de JMS se utiliza dentro del entorno de clientes de servicios web para recibir respuestas asíncronas de entrada cuando la aplicación cliente está utilizando el transporte JMS. Para funcionar correctamente, la escucha precisa de una fábrica de conexiones y una cola. Empiece por la configuración de la fábrica de conexiones y la cola y, a continuación, especifique los nombres JNDI de la fábrica de conexiones y la cola para la escucha, mediante el establecimiento de las propiedades del sistema Java. El entorno en el que el cliente se ejecuta determina la forma en que se establecen las propiedades del sistema.

La escucha de mensajes de respuesta asíncrona de JMS se inicia automáticamente por parte del entorno de ejecución del cliente de servicios web cuando el cliente invoca la primera operación JAX-WS asíncrona utilizando el transporte JMS.

La fábrica de conexiones y la cola configuradas con la escucha de mensajes de respuesta asíncrona se utiliza para todas las solicitudes que se invocan dentro de un proceso Java concreto, como para el servidor de aplicaciones o un contenedor de cliente de aplicación. Puede compartir la fábrica de conexiones entre distintos procesos Java. No obstante, no puede compartir una cola entre procesos Java.

Procedimiento

  1. Determine si quiere que el cliente JAX-WS utilice el mecanismo de transporte JMS.
  2. Por cada proceso Java que utilice JMS como transporte para solicitudes JAX-WS asíncronas, configure la fábrica de conexiones y cola a utilizar por parte de la escucha de respuesta asíncrona JMS para dicho proceso. Puede compartir una fábrica de conexiones entre varios procesos Java, pero no puede compartir una cola entre procesos Java.
  3. Para cada proceso Java, establezca las propiedades del sistema com.ibm.websphere.webservices.AsyncReplyQueueName y com.ibm.websphere.webservices.AsyncReplyCFName de Java para especificar los nombres JNDI de la cola y la fábrica de conexiones a utilizar por parte de la escucha de mensajes de respuesta asíncrona de JMS para dicho proceso.

    Si el nombre JNDI de la cola es el valor predeterminado, jms/DefaultAsyncReplyQueue, no es necesario establecer la propiedad AsyncReplyQueueName. De la misma forma, si el nombre JNDI de la fábrica de conexiones es el valor predeterminado, jms/DefaultAsyncReplyCF, no tiene que establecer también la propiedad AsyncReplyCFName.

    Si su cliente se ejecuta dentro del entorno del servidor de aplicaciones, establezca las propiedades como propiedades del sistema del servidor de aplicaciones, utilizando la consola administrativa o los mandatos de wsadmin.

    Si su cliente se ejecuta dentro del entorno de contenedor de cliente de aplicaciones, debe establecer las propiedades utilizando la opción –CCD en la línea de mandatos launchClient.

Resultados

Su cliente de servicios web JAX-WS está configurado para utilizar la escucha de mensajes de respuesta asíncrona de JMS para recibir mensajes de respuesta asíncrona cuando utilice el transporte JMS.

Ejemplo

Supongamos que tiene un cliente de servicios web de JAX-WS que se ejecuta en el entorno de contenedor de cliente de aplicación y utiliza el transporte JMS para comunicar con el servidor. Suponga que el cliente invoca operaciones JAX-WS asíncronas. Puede crear una fábrica de conexiones con el nombre JNDI, jms/MyAppCF y una cola con el nombre JNDI jms/MyAppAsyncReplyQueue. Cuando invoque el cliente con el mandato launchClient , especifique los nombres JNDI de la cola y la fábrica de conexiones según se muestra en el mandato siguiente:
launchClient MyAppClient.ear \
   -CCDcom.ibm.websphere.webservices.jms.AsyncReplyQueueName=jms/MyAppReplyQueue \
   -CCDcom.ibm.websphere.webservices.jms.AsyncReplyCFName=jms/MyAppCF \
   <application arguments>

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jmsasyncresplistener
File name: twbs_jmsasyncresplistener.html