La ejecución del ejemplo de Direccionamiento de mensajes se divide en dos escenarios:
Estos dos escenarios se describen por separado. 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 cualquier tipo de problema al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker.
Todos los mensajes de prueba utilizados 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>
Los campos Initial y Surname se utilizan para direccionar el mensaje.
Esta parte del ejemplo utiliza el flujo de mensajes Routing_using_database_table. El flujo de mensajes 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 se satisfactoriamente, la primera parte del ejemplo es completo. Para averiguar cómo está programado el direccionamiento, busque ESQL en el flujo de mensajes, consulte Routing_using_database_table_Compute.
Esta parte del ejemplo utiliza el flujo de mensajes Routing_using_memory_cache. Contiene dos colas de entrada denominadas ROUTING.DATABASE.MEMORY.IN1 y ROUTING.REFRESH.IN1. El flujo de mensajes puede direccionar el mensaje a una de las 20 colas del contenido del mensaje (ROUTING.OUT seguido de un número de 1-19 más una cola denominada ROUTING.DEFAULT). La lógica de direccionamiento es igual que en la versión que no está almacenada en memoria caché. Utilice los pasos siguientes para ejecutar esta parte del ejemplo son:
DB2
db2cmd
db2
DB2> connect to ROUTING user usuario using contraseñaDonde usuario es un usuario que tiene autorización para acceder a la base de datos ROUTING, generalmente el mismo usuario que se ha utilizado para crear el intermediario de ejemplo y contraseña es la contraseña utilizada para dicho usuario.
DB2> update routing_table set queue_name='ROUTING.OUT18' where Variable3='Braithwaite'
DB2> disconnect ROUTING
Oracle
sqlplus <usuario>/<contraseña>Donde usuario es un usuario que tiene autorización para acceder a la tabla rounting_table, generalmente el mismo usuario que se ha utilizado para crear el intermediario de ejemplo y contraseña es la contraseña utilizada para dicho usuario.
update routing_table set queue_name='ROUTING.OUT18' where Variable3='Braithwaite';
Los pasos 9 a 13 se pueden repetir cambiando el nombre de cola de la base de datos por uno de los otros nombres de cola que están disponibles. En vez de utilizar el mensaje Database_Refresh_cache_message1, puede detener y reiniciar el flujo de mensajes, lo que también causa que se renueve la tabla de base de datos almacenada en memoria caché.
Si todos los pasos anteriores se han realizado correctamente, el ejemplo se habrá completado. Para obtener información sobre cómo almacenar la base de datos en las variables compartidas, consulte el ESQL en el flujo de mensajes, consulte el apartado Routing_using_database_and_memory_cache_Compute.
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 los dos escenarios informan en detalle de adónde se direccionan los mensajes. Puede comprobar que los mensajes se han direccionado a la cola correcta utilizando WebSphere MQ Explorer al igual que Extraer de la cola en el cliente de prueba.