Message Routing 샘플 실행은 두 개의 주요 부분으로 나눌 수 있습니다.
다음 두 부분에 대해 각각 설명합니다. 이 절에서 설명한 테스트 메시지는 모두 Message Routing 샘플 메시지 플로우라는 메시지 플로우 프로젝트에 있는 테스트 메시지 디렉토리에 있습니다.
이 샘플을 실행하는 데 사용된 모든 테스트 메시지는 다음 형식을 기본으로 합니다.
<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 입력 큐가 포함됩니다. 메시지 플로우는 메시지 컨텐츠를 기초로 20개의 출력 큐 중 하나로 메시지를 라우트할 수 있습니다. (ROUTING.OUT 다음에 1-19까지의 숫자가 오고 그 다음 ROUTING.DEFAULT 큐가 옵니다.) 이 샘플 부분을 실행하려면 다음을 수행하십시오.
위의 모든 단계가 수행되면 샘플의 첫 번째 부분이 완료됩니다. Routing_using_database_table 메시지 플로우에 있는 ESQL을 살펴보고 라우팅 수행 방법을 참조하십시오.
이 샘플 부분에서는 Routing_using_memory_cache 메시지 플로우를 사용합니다. 여기에는 두 개의 입력 큐(ROUTING.MEMORY.IN1 및 ROUTING.REFRESH.IN1)가 포함되며, 메시지 플로우는 메시지 컨텐츠를 기초로 20개의 큐 중 하나로 메시지를 라우트할 수 있습니다. (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';
데이터베이스에 있는 queue_name을 사용 가능한 다른 큐 이름 중 하나로 변경하여 5-10 단계를 반복할 수 있습니다. Refresh_cache_message1 메시지를 사용하는 대신, 메시지 플로우를 정지한 후 재시작할 수 있습니다. 이렇게 하면 캐시된 데이터베이스 테이블이 새로 고쳐집니다.
위의 모든 단계가 수행되면 샘플 실행이 완료됩니다. Routing_using_memory_cache 메시지 플로우에 있는 ESQL을 살펴 보고 공유 변수에 데이터베이스를 저장하는 방법을 참조하십시오.
Message Routing 샘플은 출력을 수정하지 않고도 다양한 출력 큐에 입력 테스트 메시지를 라우트합니다. 출력 메시지는 입력 테스트 메시지와 동일합니다. 두 부분에 제공되는 단계에서는 메시지가 라우트되는 위치에 대해 자세히 설명합니다. WebSphere MQ 탐색기(위 단계에서 설명한 것처럼)를 사용하여 메시지가 올바른 큐로 라우트되었는지를 점검할 수 있습니다. 또한 Message Brokers Toolkit의 일부인 큐에서 삭제 프로그램을 사용하여 큐에 있는 메시지 컨텐츠를 점검할 수도 있습니다. 큐에서 삭제 프로그램에 액세스하려면 툴킷 도구 모음에 있는 큐에서 삭제 아이콘을 누르십시오.