A amostra Nós JMS é um aplicativo de amostra de fluxo de mensagens que mostra como utilizar os nós JMSInput e JMSOutput como um consumidor e um produtor JMS respectivamente para um provedor JMS externo. A amostra utiliza o WebSphere MQ como o provedor JMS.
Existem dois fluxos de mensagens na amostra, um representando um provedor JMS externo e um mostrando um exemplo de como utilizar os nós JMS em um servidor intermediário. Os nós Compute em cada fluxo de mensagens contêm comentários ESQL detalhados explicando exatamente o que foi feito para chegar ao comportamento requerido.
Esse fluxo representa um provedor JMS.
Esse fluxo utiliza uma mensagem XML. Quando a mensagem é transmitida pelo fluxo, ela é modificada no nó Compute incluindo a data atual no elemento <Timestamp>:
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp>2005-01-01 10:10:59</Timestamp>
.
.
.
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>
A mensagem é, então, transformada em uma mensagem do produtor e colocada em uma fila para o fluxo JMSInput_Publication escolhê-la.
Neste fluxo, o nó JMSInput é um consumidor de mensagens para um Fornecedor JMS externo, que é o WebSphere MQ nesta amostra. A mensagem recebida é transformada em uma publicação e colocada no mecanismo de publicações.
O nó JMSInput obtém a mensagem XML da fila e a transmite para o nó
Compute. O nó Compute cria uma nova mensagem de publicação no tópico update/stock e emite a mensagem inteira como uma nova fatura.
A mensagem de teste utilizada para conduzir a amostra é uma mensagem XML direta que contém detalhes de fatura para um cliente:
<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>