La ejecución del ejemplo de Direccionamiento de mensajes puede dividirse en dos partes principales:
Estas dos partes se describen por separado. Todos los mensajes de prueba mencionados en esta sección pueden encontrarse en el directorio Test messages (mensajes de prueba) del proyecto de flujos de mensajes llamado Flujos de mensajes del ejemplo de direccionamiento de mensajes.
Todos los mensajes de prueba usados para la ejecución de este ejemplo se basan en el siguiente formato:
<SaleEnvelope> <Header> <SaleListCount>1</SaleListCount> </Header> <SaleList> <Invoice> <Initial>T</Initial> <Initial>D</Initial> <Surname>Montana</Surname> <Item><Code>00</Code> <Code>01</Code><Code>02</Code> <Description>Twister</Description> <Category>Games</Category> <Price>00.30</Price> <Quantity>01</Quantity> </Item> <Item> <Code>02</Code><Code>03</Code><Code>01</Code> <Description>The Times Newspaper</Description> <Category>Books and Media</Category> <Price>00.20</Price> <Quantity>01</Quantity> </Item> <Balance>00.50</Balance> <Currency>Sterling</Currency> </Invoice> </SaleList> <Trailer> <CompletionTime>12.00.00</CompletionTime> </Trailer> </SaleEnvelope>
Para direccionar el mensaje se utilizan los campos <Initial> y <Surname>.
Esta parte del ejemplo utiliza el flujo de mensajes Routing_using_database_table. Contiene una cola de entrada llamada ROUTING.DATABASE.IN1. 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:
Si todos los pasos anteriores han funcionado correctamente, la primera parte del ejemplo ha terminado. Vea el ESQL del flujo de mensajes Routing_using_database_table para saber cómo se ha llevado a cabo el direccionamiento.
Esta parte del mensaje utiliza el flujo de mensajes Routing_using_memory_cache. Contiene dos colas de entrada llamadas ROUTING.MEMORY.IN1 y ROUTING.REFRESH.IN1 y el flujo de mensajes puede direccionar el mensaje a una de 20 colas 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). La lógica del direccionamiento es igual que en la versión que no está en memoria caché. La única diferencia es que la base de datos se guarda en memoria caché utilizando variables compartidas. Los pasos para ejecutar esta parte del ejemplo son:
DB2
db2cmd
DB2> connect to ROUTING user usuario using contraseña
donde usuario es un usuario que tiene autorización para acceder a la base de datos ROUTING. Normalmente, es el mismo usuario que se ha utilizado para crear el intermediario de ejemplo. contraseña es la contraseña de ese usuario.
DB2> update routing_table set queue_name='ROUTING.OUT18' where Variable3='Braithwaite'
Derby
ij>update routing_table set queue_name='ROUTING.OUT18' where Variable3='Braithwaite';
Los pasos 5 a 10 pueden repetirse pero cambiando el nombre de la cola de la base de datos por alguno de los otros nombres de cola que están disponibles. En vez de utilizar el mensaje Refresh_cache_message1, se puede detener y reiniciar el flujo de mensajes. De este modo también se renovará la tabla de base de datos en memoria caché.
Si todos los pasos anteriores han funcionado correctamente, la ejecución del ejemplo ha terminado. Vea el ESQL del flujo de mensajes Routing_using_memory_cache para saber cómo se ha llevado a cabo el almacenamiento de la base de datos en las variables compartidas.
El ejemplo de Direccionamiento de mensajes dirige el mensaje de prueba de entrada a varias colas de salida sin modificar la salida. El mensaje de salida es idéntico al mensaje de prueba de entrada. Los pasos, indicados en dos partes, explican en detalla adónde se direccionan los mensajes. Se puede comprobar si los mensajes se han direccionado a la cola correcta usando WebSphere MQ Explorer (como se indica en los pasos de arriba). También es posible comprobar el contenido de los mensaje en las colas utilizando el programa de extracción de cola que forma parte del Kit de herramientas de Message Brokers. Para acceder al programa de extracción de cola, pulse en el icono de extracción de cola en la barra de herramientas del kit de herramientas.