L'esecuzione dell'esempio Instradamento del messaggio può essere suddivisa in due parti principali:
Queste due parti saranno descritte separatamente. Tutti i messaggi di prova menzionati in questa sezione si possono trovare nella directory Test messages nel progetto flusso di messaggi denominato Message routing sample message flows.
Tutti i messaggi di prova utilizzati nell'esecuzione di questo esempio si basano sul seguente 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>Giochi</Category> <Price>00,30</Price> <Quantity>01</Quantity> </Item> <Item> <Code>02</Code><Code>03</Code><Code>01</Code> <Description>Il quotidiano The Times</Description> <Category>Libri e Media</Category> <Price>00,20</Price> <Quantity>01</Quantity> </Item> <Balance>00,50</Balance> <Currency>Sterlina</Currency> </Invoice> </SaleList> <Trailer> <CompletionTime>12.00.00</CompletionTime> </Trailer> </SaleEnvelope>
I campi <Initial> e <Surname> vengono utilizzati per l'instradamento del messaggio.
Questa parte dell'esempio utilizza il flusso di messaggi Routing_using_database_table. Tale flusso contiene una coda di input denominata ROUTING.DATABASE.IN1. Il flusso di messaggi può instradare il messaggio ad una delle 20 code di output in base al contenuto del messaggio (ROUTING.OUT seguito da un numero da 1 a 19 più una coda denominata ROUTING.DEFAULT). Per eseguire questa parte dell'esempio:
Se tutti i passi riportati sopra sono riusciti, la prima parte dell'esempio è completata. Esaminare l'ESQL nel flusso di messaggi Routing_using_database_table per verificare come si è realizzato l'instradamento del messaggio.
Questa parte dell'esempio fa uso del flusso di messaggi Routing_using_memory_cache. Tale flusso contiene due code di input denominate ROUTING.MEMORY.IN1 e ROUTING.REFRESH.IN1 ed il flusso di messaggi può instradare il messaggio ad una delle 20 code in base al contenuto del messaggio (ROUTING.OUT seguito da un numero da 1 a 19 più una coda denominata ROUTING.DEFAULT). L'instradamento segue la medesima logica della versione non memorizzata in cache. La sola differenza è data dal fatto che il database è memorizzato nella cache in memory utilizzando variabili condivise. I passi per l'esecuzione di questa parte dell'esempio sono:
DB2
db2cmd
DB2> connect to ROUTING user user using password
dove user è un utente con autorizzazione all'accesso al database ROUTING. Si tratta normalmente dello
stesso utente utilizzato per creare il broker di esempio. password è la password utilizzata per tale utente.
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';
I passi da 5 a 10 possono essere ripetuti ma modificando il queue_name nel database in uno dei due nomi coda disponibili. Invece di utilizzare il messaggio Refresh_cache_message1, il flusso di messaggi può essere arrestato e riavviato. Anche queste operazioni porteranno all'aggiornamento della tabella database memorizzata in cache.
Se tutti i passi riportati sopra sono riusciti, l'esecuzione dell'esempio è completata. Esaminare l'ESQL nel flusso di messaggi Routing_using_memory_cache per verificare come si è realizzata la memorizzazione del database nelle variabili condivise.
L'esempio Instradamento del messaggio instrada il messaggio di prova di input a varie code di output senza modificare l'output. Il messaggio di output è identico al messaggio di prova di input. I passi forniti nelle due parti, illustrano in dettaglio dove vengono instradati i messaggi. E' possibile controllare che i messaggi vengano instradati alla coda corretta utilizzando WebSphere MQ Explorer (come illustrato dettagliatamente nei passi riportati sopra). Inoltre, è possibile controllare il contenuto dei messaggi nelle code utilizzando il programma per annullare l'accodamento che fa parte del Message Brokers Toolkit. Per accedere a tale programma fare clic sull'apposita icona nella barra degli strumenti del toolkit: