O nó FileRead pode rotear ou
enriquecer as mensagens com base no conteúdo do arquivo.
Ao desenvolver o fluxo de mensagens, você pode especificar o nome e o local do
arquivo a ser lido. Você pode substituir esses valores no tempo de execução com base no
conteúdo de uma mensagem.
O nó complementa os nós FileInput e
FileOutput existentes. O
nó FileRead lê um arquivo no meio de um fluxo
de mensagens.
Usando o Nó para Rotear Mensagens
Uma mensagem é roteada usando
o conteúdo de um arquivo colocado com o WebSphere Message Broker ou em
um sistema de arquivo de rede.
A mensagem do sistema de origem é roteada para um
sistema de destino usando um arquivo de roteamento externo. Nenhuma resposta é esperada.
O
fluxo básico de eventos é o seguinte:
- O WebSphere Message Broker recebe uma mensagem através de um nó
de entrada.
- O fluxo de mensagens do WebSphere Message Broker interroga o
conteúdo de uma mensagem para identificar informações de chave de roteamento.
- Se o arquivo consistir em mais de um registro, será necessário determinar:
- Onde o primeiro registro é iniciado. A menos que você especifique um byte de
deslocamento, o nó começa a ler o arquivo no primeiro byte.
- Como cada registro é finalizado (tamanho fixo, delimitado ou analisado.)
- Qual registro propagar. Você pode usar qualquer combinação de informações da
mensagem de entrada e do arquivo ao decidir isso. Todos os registros
do ponto de início especificado são lidos até que seja localizado um registro
que corresponda à expressão de seleção do registro; esse registro é então propagado.
Os exemplos incluem:
- O terceiro registro, conforme identificado pelo campo do ambiente local
$OutputLocalEnvironment/File/Read/RecordNumber=3.
Neste exemplo, o primeiro registro é totalmente lido e a expressão é
avaliada como false. O segundo registro é totalmente lido e a expressão é
avaliada como false. Quando o terceiro registro é totalmente lido, a expressão
é avaliada como true e o registro é propagado. Os outros registros
não são lidos.
- Um campo-chave na mensagem de entrada corresponde a um campo-chave no arquivo $InputRoot/XMLNSC/FromMQInputMessage/Record1
= $ResultRoot/XMLNSC/FromFile/Record5. Neste exemplo, os registros
são lidos no arquivo até que o valor do elemento Record5 do
registro corresponda ao valor do elemento Record1 da mensagem recebida.
O local do registro no arquivo determina quantos registros
o nó deve ler antes que corresponda com sucesso à expressão de seleção
do registro.
- No fluxo de mensagens, é possível implementar um cache local de registros
para reduzir o custo de desempenho de se ler diversos registros estáticos.
Para obter um exemplo de como implementar um cache local, consulte a seguinte
amostra:
- Você pode optar por obter as informações do arquivo e copiá-las na mensagem de saída. A
cópia pode ser um subconjunto dos dados, e pode ser copiada em qualquer local na
mensagem ou no ambiente local. Para obter mais informações, consulte Combinando uma Mensagem de Resultado com uma Mensagem Recebida.
- Um aplicativo de destino recebe a mensagem roteada.
Para
obter informações sobre como processar mensagens com base no conteúdo de um arquivo XML
ou CSV, consulte a amostra a seguir:
Você
só pode visualizar informações sobre amostras quando usa o centro de informações
que está integrado ao WebSphere Message Broker Toolkit ou o centro de
informações on-line. Você só poderá
executar amostras quando usar o centro de informações que está integrado ao
WebSphere Message Broker Toolkit.