JMS Node 샘플은 외부 JMS 제공자에 따라 JMSInput과 JMSOutput 노드를 각각 JMS 소비자와 생산자로 사용하는 방법을 보여주는 메시지 플로우 샘플 응용프로그램입니다. 샘플에서는 WebSphere MQ를 JMS 제공자로 사용합니다.
샘플에는 두 개의 메시지 플로우가 있습니다. 하나는 외부 JMS 제공자를 나타내며, 다른 하나는 브로커에서 JMS 노드 사용법 예를 보여줍니다. 각 메시지 플로우에 있는 Compute 노드에는 필요한 작동을 위해 수행한 조치에 대해 정확히 설명하는 자세한 ESQL 주석이 들어 있습니다.
이 플로우는 JMS 제공자를 나타냅니다.
이 플로우에서는 XML 메시지를 사용합니다. 플로우를 통해 메시지를 전달할 경우, <Timestamp> 요소에 있는 현재 날짜를 추가하여 Compute 노드에서 메시지를 수정합니다.
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp>2005-01-01 10:10:59</Timestamp>
.
.
.
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>
그런 다음 메시지는 생산자 메시지로 변환되어 JMSInput_Publication 플로우에서 선택할 수 있도록 큐에 넣어집니다.
이 플로우에서 JMSInput 노드는 외부 JMS 제공자(이 샘플에서는 WebSphere MQ)의 메시지 소비자입니다. 수신된 메시지는 publication으로 변환되어 publication 엔진에 넣어집니다.
JMSInput 노드는 큐에서 XML 메시지를 가져와 Compute 노드에 전달합니다. Compute 노드는 update/stock 토픽에 대한 새 publication 메시지를 작성한 후 전체 메시지를 새 송장으로 발행합니다.
샘플을 구동시키는 데 사용된 테스트 메시지는 고객에 대한 송장 세부사항이 들어 있는 간단한 XML 메시지입니다.
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp></Timestamp>
<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>
<Last>Test</Last>
</Parent>