Restricción de los mensajes de respuesta al punto de cola que sea local a la aplicación solicitante.
Cuando una cola JMS identifica una cola del bus de integración de servicios como cola de respuesta, y que la cola de bus de integración de servicios tiene varios puntos de cola, puede configurar una cola JMS para limitar los mensajes al punto de cola que sea local a la aplicación que hacía referencia a la cola JMS. Para ello, asegúrese de que se envía un mensaje de respuesta al punto de cola adecuado para un miembro de bus del clúster.
Una cola del bus de integración de servicios tiene varios puntos de cola si es propiedad de un miembro de bus del clúster con varios motores de mensajería (normalmente, para proporcionar carga de trabajo compartida o escalabilidad). Un punto de cola local es el punto de cola del motor de mensajería al cual está conectada la aplicación.
Ejemplo: una cola JMS llamada Reply se ha configurado para identificar la cola del bus de integración de servicios que debe utilizarse como cola de respuesta. La cola JMS se ha configurado para limitar los mensajes al punto de cola local (consulte Tareas relacionadas para obtener más detalles).

El miembro de bus también es propietario del bus de integración de servicios que se utiliza como cola de respuesta, de modo que cada motor de mensajería tiene un punto de cola de la cola de respuesta configurada.
La aplicación solicitante crea un mensaje JMS y establece el destino de JMSReplyTo en la cola JMS denominada Respuesta. La aplicación solicitante envía el mensaje de solicitud a la cola para el servicio utilizando otra cola JMS, denominada Servicio. (Service no requiere ninguna configuración especial). De forma predeterminada, este mensaje se puede entregar a cualquiera de los puntos de cola que pertenecen a Service, aunque normalmente irá al punto de cola local. Sin embargo, para ilustrar de forma completa este ejemplo, el sistema envía el mensaje al otro punto de cola.
Cuando la aplicación que ha enviado el mensaje de solicitud está conectada a un motor de mensajería que también tiene un punto de cola para la cola de respuesta del bus de integración de servicios subyacente configurada para él, y la opción está habilitada, la identidad de ese único punto de cola de la cola de respuesta se añade a la información de la cola JMSReplyTo del mensaje.

El mensaje de solicitud se entrega a la cola para el servicio, Servicio, y el servicio lo procesa. Al finalizar, el servicio envía un mensaje JMS a la cola de respuesta identificada en el mensaje de solicitud (obtenido utilizando el método Message.getJMSReplyTo de JMS). En este punto, el sistema de mensajería enviaría de forma predetermina el mensaje de respuesta a cualquiera de los puntos de cola de Reply pero, como el solicitante ha establecido el ámbito de la cola de respuesta en su punto de cola local, la respuesta se envía al único punto de cola del motor de mensajería al que estaba conectado el solicitante.

El sistema se comporta como si la cola del bus de integración de servicios sólo tuviera un punto de cola. Si no está disponible el punto de cola en el que se ha establecido el ámbito de la respuesta, el mensaje no se envía a ningún otro punto de cola.
- Los mensajes de respuesta se devuelven siempre al punto de cola que es local para la aplicación solicitante. De esta manera se reduce la ruta del mensaje.
- Las aplicaciones solicitantes conectadas a diferentes motores de mensajería del miembro de bus pueden utilizar la misma definición de cola JMS. Esto permite realizar un equilibro dinámico de la carga de trabajo en el clúster.
- Si la aplicación solicitante intenta desconectarse y volver a conectarse antes de recibir el mensaje de respuesta, la aplicación debe saber a qué motor de mensajería se va a conectar y debe conectarse al mismo motor cuando se vuelva a conectar. Para ello, en la fábrica de conexiones JMS, seleccione un motor de mensajería y utilice la fábrica de conexiones JMS para volver a conectar. Esta configuración excluye el equilibrio de la carga de trabajo.
- La aplicación solicitante debe estar conectada a un motor de mensajería del miembro de bus que es propietario de la cola de respuesta del bus de integración de servicios. En caso contrario, no hay ningún punto de cola local para establecer el ámbito de los mensajes de respuesta y el sistema sigue el comportamiento de direccionamiento de mensajes predeterminado.
Refinamiento
- Varias fábricas de conexiones, cada una destinada a un motor de mensajería diferente.
- Las aplicaciones solicitantes que se deben distribuir en las fábricas de conexiones.