Inicio |
Cuando se inicia Postales, la aplicación comprueba qué gestores de colas hay en el sistema e inicializa el diálogo de inicio de sesión en consecuencia (si no hay ningún gestor de colas, le pedirá que instale la configuración por omisión).
Postales utiliza la llamada JMS |
Recepción de mensajes |
Mientras está ejecutándose, Postales sondea una cola llamada postcard para saber si hay mensajes entrantes procedentes de otras Postales. (Si no hay ninguna cola llamada postcard, Postales intentará crear una). Cuando Postales empieza a ejecutarse, crea un objeto JMS QueueReceiver para la cola de postales local, que proporciona como parámetro un serie de caracteres de selección que filtra los mensajes que se reciben de la cola mediante el identificador de correlación (campo CorrelID). La serie de caracteres de selección indica que el cliente de postales sólo debe recibir mensajes en los que el campo CorrelID tenga como valor el apodo del usuario. Las palabras de los datos del mensaje aparecen entonces en la ventana de Postales JMS. |
Envío de mensajes |
Si no entró un nombre de sistema en el campo En:, Postales supone que el receptor se encuentra en el mismo gestor de colas. Si entró un nombre, Postales comprueba si existe un gestor de colas con dicho nombre -utilizando primero el nombre exacto que se ha facilitado y a continuación un prefijo con el mismo formato que el creado por la configuración por omisión.
En ambos casos, emitirá un mandato
Finalmente crea un JMS BytesMessage a partir del apodo y las palabras que se han escrito y ejecuta
|
Cómo llegan las postales |
Cuando otras instancias de Postales de este sistema utilizan el mismo gestor de colas y la misma cola, los mensajes simplemente se transfieren y obtienen de esta cola. Esto comprueba que el código WebSphere MQ instalado en este sistema esté configurado y funcione correctamente. Para que Postales pueda realizar envíos a otro gestor de colas, ha de existir una conexión con el mismo. Esta conexión se produce porque ambos gestores de colas están en el mismo clúster o porque el usuario ha creado explícitamente una conexión. Por lo tanto, Postales puede suponer que el gestor de colas puede conectarse y, simplemente se conecta a él, abre la cola y transfiere un mensaje, como ya se ha explicado, dejando todo el trabajo de obtención del mensaje al código de clúster de WebSphere MQ. En otras palabras, Postales únicamente utiliza una parte del código para transferir el mensaje y no necesita saber si el mensaje va o no a otro sistema. En Postales, cuando se llama a session.createSender("postcard"), el código del clúster busca el otro gestor de colas en el depósito, comprueba si la cola existe y genera una excepción si la operación no ha sido posible por algún motivo. Cuando se llama a queueSender.send(theMessage), el código del clúster abre un canal para el otro gestor de colas (creándolo si es necesario) y envía el mensaje. Posteriormente puede eliminarse el canal, si el código de optimización de clúster no lo necesita. Si los gestores de colas están en sistemas distintos, el código de clúster gestiona toda la operación. |
Supresión de mensajes que no se pueden entregar |
Si envió una postal a "Ana", pero no ejecutó nunca una aplicación Postales con el apodo "Ana", el mensaje se quedará para siempre en la cola. Para evitar esto, la aplicación Postales establece el campo Message Lifetime (Expiry) (duración del mensaje (caducidad)) del Descriptor de mensaje (MQMD) en 48 horas. Transcurrido ese tiempo, el mensaje se eliminará, esté donde esté (posiblemente siga transmitiéndose). |
Puede enviar sus comentarios sobre la ayuda y los manuales a la dirección: idrcf@hursley.ibm.com
(C) IBM Corporation 1996, 2002. Reservados todos los derechos