Ejecutar el ejemplo de Direccionamiento de mensajes utilizando un archivo
Todos los mensajes de
prueba que se utilizan en esta sección están guardados en el directorio
Mensajes de prueba del proyecto de Message Broker llamado Flujos de mensajes del ejemplo de direccionamiento de mensajes.
Si encuentra problemas al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan
ejemplos en la documentación de WebSphere Message Broker.
Ejecutar el ejemplo
Utilizando un archivo completo para direccionar el mensaje
El
flujo de mensajes puede direccionar el mensaje a una de 20 colas de salida
basándose en el contenido del mensaje
(ROUTING.OUT seguido de un número del 1 al
19 más una cola llamada ROUTING.DEFAULT). Para ejecutar esta parte del ejemplo:
- En la vista Desarrollo de intermediario, expanda el proyecto Flujos de mensajes del ejemplo de direccionamiento de mensajes.
En Mensajes de prueba, pulse dos veces
File_Whole_file_message1.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola, pulse Enviar mensaje
para enviar un mensaje a la cola ROUTING.WHOLE.FILE.IN1.
El flujo de mensajes direcciona el mensaje a la cola ROUTING.OUT1.
- En el cliente de prueba, pulse Colocar en cola, pulse Obtener mensaje para leer un mensaje de la cola ROUTING.DATABASE.OUT1.
- En Mensajes de prueba, pulse dos veces
File_Whole_file_message2.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en Cola, pulse
Enviar mensaje para enviar el mensaje a ROUTING.WHOLE.FILE.IN1.
El flujo de mensajes direcciona el
mensaje a las colas ROUTING.OUT18 y ROUTING.OUT19.
- En el Cliente de prueba, pulse Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT18.
- Pulse el segundo Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT19.
Si todos los pasos anteriores se satisfactoriamente, la primera parte del ejemplo es completo. Para averiguar cómo está programado el direccionamiento, busque el ESQL en el flujo de mensajes: Routing_using_whole_file_Compute.
Utilizando un registro a partir de un archivo para direccionar el mensaje
El
flujo de mensajes puede direccionar el mensaje a una de 20 colas de salida
basándose en el contenido del mensaje
(ROUTING.OUT seguido de un número del 1 al
19 más una cola llamada ROUTING.DEFAULT). Para ejecutar esta parte del ejemplo:
- En la vista Desarrollo de intermediario, expanda el proyecto Flujos de mensajes del ejemplo de direccionamiento de mensajes.
En Mensajes de prueba, pulse dos veces
File_Records_file_message1.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola, pulse Enviar mensaje
para enviar un mensaje a la cola ROUTING.RECORDS.FILE.IN1.
El flujo de mensajes direcciona el mensaje a la cola ROUTING.OUT1.
- En el cliente de prueba, pulse Colocar en cola, pulse Obtener mensaje para leer un mensaje de la cola ROUTING.DATABASE.OUT1.
- En Mensajes de prueba, pulse dos veces
File_Records_file_message2.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en Cola, pulse
Enviar mensaje para enviar el mensaje a ROUTING.RECORDS.FILE.IN1.
El flujo de mensajes direcciona el
mensaje a las colas ROUTING.OUT18 y ROUTING.OUT19.
- En el Cliente de prueba, pulse Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT18.
- Pulse el segundo Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT19.
Si todos los pasos anteriores han finalizado satisfactoriamente, la segunda parte del ejemplo se
ha completado.
Utilización de una memoria caché en memoria del archivo para direccionar el mensaje
Esta parte del ejemplo utiliza el flujo de mensajes Routing_using_file_and_memory_cache.
El flujo de mensajes contiene dos colas de entrada:
- ROUTING.FILE.MEMORY.IN1.
- ROUTING.FILE.REFRESH.IN1.
Para ejecutar esta parte del ejemplo:
- En la vista Desarrollo de intermediario, expanda el proyecto Flujos de mensajes del ejemplo de direccionamiento de mensajes.
En Mensajes de prueba, pulse dos veces
File_Memory_cache_message1.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola, pulse Enviar mensaje
para enviar un mensaje a la cola ROUTING.FILE.MEMORY.IN1.
El flujo de mensajes direcciona el mensaje a la cola ROUTING.OUT1.
- En el cliente de prueba, pulse Colocar en cola, pulse Obtener mensaje para leer un mensaje de la cola ROUTING.DATABASE.OUT1.
- En Mensajes de prueba, pulse dos veces
File_Memory_cache_message2.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola, pulse Enviar mensaje para enviar el mensaje a
ROUTING.FILE.MEMORY.IN1. El flujo de mensajes direcciona el
mensaje a las colas ROUTING.OUT18 y ROUTING.OUT19.
- En el Cliente de prueba, pulse Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT18.
- Pulse el segundo Extraer de la cola, pulse Obtener
mensaje para leer el mensaje direccionado de la cola ROUTING.OUT19.
- Hasta este momento el flujo funciona exactamente igual que el flujo anterior, pero este flujo está utilizando la información que está en memoria caché del archivo.
Para probar el efecto de la utilización de la memoria caché, el archivo se modifica para mostrar cómo se puede renovar la memoria caché. Para modificar el archivo:
- Vaya a MQSI_FILENODES_ROOT_DIRECTORY c:\MQSIFileRead.
- Abra el archivo fileRead.csv.
- En la fila
KA,Braithwaite,MB8QMGR,ROUTING.OUT18,MB8QMGR,ROUTING.OUT19
cambie la fila por la siguiente: KA,Braithwaite,MB8QMGR,ROUTING.OUT17,MB8QMGR,ROUTING.OUT19.
- Guarde el archivo.
- En Mensajes de prueba, pulse dos veces
File_Memory_cache_message2.. mbtest para abrir el
archivo en el Cliente de prueba.
- En el Cliente de prueba, pulse Colocar en cola, pulse Enviar mensaje
para enviar un mensaje a la cola ROUTING.FILE.MEMORY.IN1.
El flujo de mensajes direcciona el
mensaje a las colas ROUTING.OUT18 y ROUTING.OUT19.
- En el Cliente de prueba, pulse Extraer de la cola, pulse
Obtener mensaje para leer un mensaje de
la cola ROUTING.OUT18.
Repita esta operación para la segunda extracción.
El mensaje no se direcciona al nombre de la nueva cola debido a que el archivo no se ha vuelto a leer.
- Para hacer que el flujo lea el archivo, bajo
Mensajes de prueba, abra
File_Refresh_cache_message1.. mbtest,
pulse Colocar en cola,
pulse Enviar Mensaje para escribir el
mensaje en la
cola ROUTING.FILE.REFRESH.IN1.
- Una doble pulsación en File_Memory_cache_message2.. mbtest para abrirlo
en el Cliente de prueba, pulse Colocar en cola, pulse Enviar
mensaje para escribir el mensaje en la cola ROUTING.FILE.MEMORY.IN1.
- En el Cliente de prueba, pulse el primer Extraer de la cola y cambie el nombre de la cola para que sea ROUTING.OUT17, pulse Obtener mensaje para leer el mensaje direccionado de la cola ROUTING.OUT17.
Los pasos 9 a 14 se pueden repetir cambiando el nombre de cola en el archivo por uno de los otros nombres de cola que están disponibles. En lugar de utilizar el mensaje File_Refresh_cache_message1 puede detener
y reiniciar el flujo de mensajes, que también hace que la tabla de base de datos de la memoria caché que debe renovarse.
Si todos los pasos anteriores han finalizado satisfactoriamente, la segunda parte del ejemplo se
ha completado. Para averiguar cómo está programado el direccionamiento, busque el ESQL en el flujo de mensajes:
Routing_using_file_and_memory_cache_Compute.
Descripción de los resultados
El ejemplo de Direccionamiento de mensajes direcciona el mensaje de prueba
de entrada a diversas colas de salida sin modificar la salida.
El mensaje de salida es idéntico al mensaje de prueba de entrada, consulte Mensajes de prueba de entrada.
Los pasos indicados en las cuatro partes detalle adónde se direccionan los mensajes.
Puede comprobar que los mensajes se han direccionado a la cola correcta utilizando WebSphere MQ Explorer, así como mediante Extraer de la cola en el Cliente de prueba.
Volver a la página inicial del ejemplo