Executando a Amostra Roteamento do Banco de Dados
Simplificado
Você pode executar a amostra Roteamento do Banco de Dados
Simplificado para demonstrar as seguintes tarefas:
- Use os nós DatabaseRetrieve e DatabaseRoute para processar o funcionário Sr. David Brown. O Sr. David
Brown qualifica-se para um presente de um relógio em reconhecimento de dez anos de serviço e é registrado
como um membro sênior da equipe, pois é mais velho do que sua gerente, a Sra. Sally Kwan. Esta tarefa utiliza a mensagem de teste em
usedbretrievenode.mbtest.
- Use os nós DatabaseRetrieve e DatabaseRoute para processar a funcionária Sra. Sally Kwan. A Sra. Sally
Kwan não se qualifica para um presente de um relógio em reconhecimento de dez anos de serviço e não é
registrada como um membro sênior da equipe, pois não pode ser mais velha do que ela mesma. Essa tarefa usa a mensagem de teste em
usedbretrievenode_nofiltermatch.mbtest.
- Ignore o nó DatabaseRetrieve, mas use o nó DatabaseRoute para processar o funcionário Sr. David Brown.
A mensagem já contém os detalhes de funcionário do Sr. David Brown. O Sr. David Brown qualifica-se para um
presente de um relógio em reconhecimento de dez anos de serviço e é registrado como um membro sênior da
equipe, pois é mais velho do que sua gerente, a Sra. Sally Kwan. Essa tarefa usa a mensagem de teste em
bypassdbretrievenode.mbtest.
- Ignore o nó DatabaseRetrieve, mas use o nó DatabaseRoute para processar o funcionário Sr. David Brown.
A mensagem já contém os detalhes de funcionário do Sr. David Brown, mas está corrompida com um valor de
departamento de trabalho que não pode ser usado. O valor do departamento de trabalho do Sr. David Brown causa
uma falha na consulta dos detalhes do funcionário de seu gerente, o que resulta em a mensagem ser registrada
na fila keyNotFound. Essa tarefa usa a mensagem de teste em
bypassdbretrievenode_keynotfound.mbtest.
Para cada tarefa, você coloca uma mensagem na mesma fila
SIMPLERROUTEDB_IN do WebSphere MQ. O fluxo de mensagens
SimplifiedDBRouting obtém a mensagem da fila e processa a mensagem. As instruções a seguir descrevem como colocar as mensagens XML de
auto-definição fornecidas através do fluxo de mensagens de amostra do
Roteamento do Banco de Dados Simplificado e que saída você pode
esperar receber do fluxo de mensagens em cada caso. Como as mensagens
não atualizam o banco de dados SROUTEDB, é possível enviar qualquer
uma das quatro mensagens no fluxo de mensagem em qualquer ordem.
É possível visualizar o conteúdo do banco de dados de amostra. Para bancos de dados DB2, utilize as ferramentas fornecidas pelo DB2; por exemplo o DB2 Control Center.
Ao executar a amostra, poderá ver mensagens de erro ou de aviso semelhantes a O
elemento do esquema XMLNSC não foi localizado e Expressão obrigatória não tem
sintaxe válida na visualização Problemas do WebSphere Message Broker Toolkit. Esses avisos ou erros
indicam que as expressões XPath nas propriedades de alguns dos nós no fluxo de menagens não atendem os
requisitos de validação de XPath configurados como preferências no WebSphere Message Broker Toolkit. Essas
mensagens não afetam o comportamento da amostra no tempo de execução. Entretanto, se as
preferências de validação do XPath estiverem configuradas de modo que essas mensagens de
erro não sejam exibidas na visualização de Problemas, você não poderá incluir o fluxo de
mensagens em um arquivo bar, ou reconstruir um arquivo bar que já contenha o fluxo de
mensagens. Você também pode estar
impossibilitado de visualizar o fluxo de mensagens no editor de
Fluxos de Mensagens. Para configurar as preferências de validação XPath para serem menos rigorosas e para exibirem
avisos em vez de erros:
- Clique em Janela > Preferências, expanda
Desenvolvimento do Intermediário.
- Expanda XPath, clique em Validação.
- Selecione Aviso a partir do
menu para cada uma das opções de validação.
- Clique em OK.
- Salve o fluxo de mensagens depois de ter alterado as preferências de forma que
avisos sejam exibidos em lugar de erros. Quando
você salva o fluxo de mensagens, ele é revalidado.
Se mensagens foram exibidas na fila SIMPLERROUTEDB_FAILURE quando você executa a
amostra, verifique se as configurações do provedor DBMS JDBC padrão configuradas no
alias SIMPLERROUTEDB do JDBCProvider no registro intermediário estão corretas para seu
ambiente.
Para obter informações adicionais, consulte Criando uma Entrada do
Provedor JDBC para um Banco de Dados DB2 ou Criando uma Entrada
do Provedor JDBC para um Banco de Dados Oracle.
Se tiver algum outro problema ao executar a amostra, consulte
Resolvendo Problemas ao Executar Amostras na
documentação do WebSphere Message Broker.
Executando o fluxo de mensagens SimplifiedDBRouting, com a mensagem de teste que
está em usedbretrievenode.mbtest
O fluxo de mensagens SimplifiedDBRouting recupera detalhes de funcionário no funcionário que está listado no campo
EmpNumber (Número do Funcionário) da mensagem de entrada. O fluxo de mensagens modifica a mensagem, comparando finalmente o conteúdo da mensagem
com os detalhes do gerente do funcionário em uma segunda procura de banco de dados.
Para executar o fluxo de mensagens SimplifiedDBRouting:
- Na visualização Desenvolvimento do Intermediário, expanda o projeto
Fluxos de Mensagens do Roteamento de Banco de Dados Simplificado, dê um clique duplo no
arquivo usedbretrievenode.mbtest para abri-lo no Cliente de Teste.
- No Cliente de Teste, clique em Enfileirar.
- Clique em Enviar Mensagem. Esta
mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
- No Cliente de Teste, clique no primeiro Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_SNRSTAFF.
Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve ser registrado em log
e reconhecido como um membro sênior da equipe dentro da empresa.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000010</EmpNumber>
<FirstName>DAVID</FirstName>
<LastName>BROWN</LastName>
<YrsInService>10</YrsInService>
<AgeInYears>54</AgeInYears>
<WorkDept>D01</WorkDept> </EmpRecord>
- No Cliente de Teste, clique no segundo Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_ORDERCLOCK.
Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve receber um relógio de
seu gerente, premiado por dez anos de serviço na empresa.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000010</EmpNumber>
<FirstName>DAVID</FirstName>
<LastName>BROWN</LastName>
<YrsInService>10</YrsInService>
<AgeInYears>54</AgeInYears>
<WorkDept>D01</WorkDept> </EmpRecord>
Executando o fluxo de mensagens SimplifiedDBRouting, com a mensagem de teste que está
em usedbretrievenode_nofiltermatch.mbtest
O fluxo de mensagens SimplifiedDBRouting recupera detalhes do funcionário no funcionário que está listado no campo
EmpNumber (Número do Funcionário) da mensagem de entrada. O fluxo de mensagens modifica a mensagem, comparando finalmente o conteúdo da mensagem
com os detalhes do gerente do funcionário em uma segunda procura de banco de dados.
Para executar o fluxo de mensagens SimplifiedDBRouting:
- Na visualização Desenvolvimento do Intermediário, expanda o projeto Fluxos de Mensagens de Roteamento de Banco de Dados Simplificado, dê um clique duplo no arquivo usedbretrievenode_nofiltermatch.mbtest para abri-lo no Cliente de Teste.
- No Cliente de Teste, clique em Enfileirar.
- Clique em Enviar Mensagem. Esta
mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
- No Cliente de Teste, clique em Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_DEFAULT.
Essa mensagem de resposta confirma que a Sra. Sally Kwan (funcionária: 000020) não atende nenhuma
expressão de filtragem do nó DatabaseRoute, pois tem menos de dez anos de serviço e também é a gerente de seu
departamento de trabalho, portanto, não pode ser mais velha do que ela mesma. Como resultado, a mensagem de
entrada modificada é roteada para a fila padrão.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000020</EmpNumber>
<FirstName>SALLY</FirstName>
<LastName>KWAN</LastName>
<YrsInService>9</YrsInService>
<AgeInYears>27</AgeInYears>
<WorkDept>D00</WorkDept> </EmpRecord>
Executando o fluxo de mensagens SimplifiedDBRouting com a mensagem de teste que
está em bypassdbretrievenode.mbtest
O fluxo de mensagens SimplifiedDBRouting compara detalhes do funcionário, que
são fornecidos na mensagem de entrada, com os detalhes de seu gerente, que são
adquiridos a partir de uma procura de banco de dados.
Para executar o fluxo de mensagens SimplifiedDBRouting:
- Na visualização Desenvolvimento do Intermediário, expanda o projeto
Fluxos de Mensagens do Roteamento de Banco de Dados Simplificado, dê um clique duplo no
arquivo bypassdbretrievenode.mbtest para abri-lo no Cliente de Teste.
- No Cliente de Teste, clique em Enfileirar.
- Clique em Enviar Mensagem. Esta
mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
- No Cliente de Teste, clique no primeiro Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_SNRSTAFF.
Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve ser registrado em log
e reconhecido como um membro sênior da equipe dentro da empresa.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000010</EmpNumber>
<FirstName>DAVID</FirstName>
<LastName>BROWN</LastName>
<YrsInService>10</YrsInService>
<AgeInYears>54</AgeInYears>
<WorkDept>D01</WorkDept> </EmpRecord>
- No Cliente de Teste, clique no segundo Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_ORDERCLOCK.
Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) deve receber um relógio de
seu gerente, premiado por dez anos de serviço na empresa.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000010</EmpNumber>
<FirstName>DAVID</FirstName>
<LastName>BROWN</LastName>
<YrsInService>10</YrsInService>
<AgeInYears>54</AgeInYears>
<WorkDept>D01</WorkDept> </EmpRecord>
Executando o fluxo de mensagens SimplifiedDBRouting com a mensagem de teste que
está em bypassdbretrievenode_keynotfound.mbtest
O fluxo de mensagens SimplifiedDBRouting compara detalhes do funcionário, que
são fornecidos na mensagem de entrada, com os detalhes de seu gerente, que são
adquiridos a partir de uma procura de banco de dados.
Para executar o fluxo de mensagens SimplifiedDBRouting:
- Na visualização Desenvolvimento do Intermediário, expanda o projeto
Fluxos de Mensagens do Roteamento do Banco de Dados, dê um clique duplo no arquivo bypassdbretrievenode_keynotfound.mbtest para abri-lo no Cliente de Teste.
- No Cliente de Teste, clique em Enfileirar.
- Clique em Enviar Mensagem. Esta
mensagem de entrada é colocada na fila SIMPLERROUTEDB_IN.
- No Cliente de Teste, clique em Retirar da Fila.
- Clique em Obter Mensagem para ler
uma mensagem a partir da fila SIMPLERROUTEDB_KEYNOTFOUND.
Essa mensagem de resposta confirma que o Sr. David Brown (funcionário: 000010) tem um valor de
departamento de trabalho inválido.
Como resultado, a mensagem de entrada não modificada é roteada para a fila keyNotFound.
O exemplo a seguir mostra o formato de uma mensagem de resposta:
<EmpRecord>
<EmpNumber>000010</EmpNumber>
<FirstName>DAVID</FirstName>
<LastName>BROWN</LastName>
<YrsInService>10</YrsInService>
<AgeInYears>54</AgeInYears>
<WorkDept>E00</WorkDept> </EmpRecord>
Voltar para Home da Amostra