Message Routing サンプルの実行は以下の 2 つの主な部分に分けられます。
これらの 2 つの部分を別個に説明します。このセクションで言及されているテスト・メッセージすべては、Message routing sample message flows というメッセージ・フロー・プロジェクトの Test messages ディレクトリーにあります。
このサンプルの実行に使用されるすべてのテスト・メッセージは、以下のフォーマットに基づいています。
<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>
フィールド <Initial> および <Surname> はメッセージを経路指定するために使用されます。
サンプルのこの部分では、Routing_using_database_table メッセージ・フローが使用されます。これには ROUTING.DATABASE.IN1 という 1 つの入力キューが含まれています。メッセージ・フローはメッセージを、その内容に基づき、20 の出力キューの内の 1 つに経路指定できます (ROUTING.OUT の後に 1 から 19 の数字が付いたキューと、ROUTING.DEFAULT というキュー)。サンプルのこの部分を実行するには、次のようにします。
上記のすべてのステップが機能したなら、サンプルの最初の部分は完了になります。 メッセージ・フロー Routing_using_database_table の ESQL を参照し、 経路指定が行われた方法を確認してください。
サンプルのこの部分は、メッセージ・フロー Routing_using_memory_cache を使用します。 これには、ROUTING.MEMORY.IN1 および ROUTING.REFRESH.IN1 という 2 つの入力キューが含まれています。メッセージ・フローはメッセージを、その内容に基づき、20 のキューの内の 1 つに経路指定できます (ROUTING.OUT の後に 1 から 19 の数字が付いたキューと、ROUTING.DEFAULT というキュー)。経路指定のロジックは、キャッシュしないバージョンと同じです。唯一の違いは、共用変数を使用してデータベースをメモリーにキャッシュすることです。サンプルのこの部分を実行するためのステップは次のとおりです。
DB2
db2cmd
DB2> connect to ROUTING user user using password
user は、ROUTING データベースにアクセスするための権限を持つユーザーです。
これは通常、サンプル・ブローカーを作成するために使用したものと同じユーザーです。
password は、そのユーザーに使用するパスワードです。
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';
ステップ 5 から 10 を繰り返すことができますが、データベースの queue_name を、使用可能な別のキュー名の 1 つに 変更するようにしてください。 Refresh_cache_message1 メッセージを使用する代わりに、メッセージ・フローを停止して再始動することができます。これにより、キャッシュされたデータベース表がリフレッシュされることにもなります。
上記のすべてのステップが機能したなら、サンプルの実行は完了です。 メッセージ・フロー Routing_using_memory_cache の ESQL を参照し、 どのようにデータベースが共用変数に保管されたかを確認します。
Message Routing サンプルは、出力を変更せずに、入力テスト・メッセージをさまざまな出力キューに経路指定します。 出力メッセージは、入力テスト・メッセージと同じです。 2 つの部分で挙げたステップに、メッセージの経路指定先の詳細が記載されています。 WebSphere MQ Explorer を使用して、メッセージが正しいキューに経路指定されたかどうかを確認できます (上記のステップで 詳述されているとおり)。 また、Message Brokers Toolkit の一部であるデキュー・プログラムを使用して、キューのメッセージの内容を確認することが できます。 デキュー・プログラムにアクセスするには、ツールキット・ツールバーの「デキュー」アイコンをクリックしてください。