Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Variáveis dinâmicas

Qual a melhor forma de guardar um dado que será usado depois?

Exemplo:

Eu preciso fazer uma chamada em um webservice, que retorna para mim a data e hora da criação do arquivo requisitado.

<toD id="toFileRequestCreate" uri="http4://{{toFileRequestCreate.url}}"/>
<setBody id="_setBody1">
      <xpath resultType="java.lang.String">/*[namespace-uri()='http://tempuri.org/' and local-name()='string']/text()</xpath>
</setBody>

Qual a melhor forma de guardar essa data para ser enviada pela mesma chamada do webservice posteriormente?

Obrigado

4 respostas

Oi Douglas,

deixe me perguntar: vc quer persistir esses dados? Aonde vc gostaria de guardar para utilizar depois na mesma rota?

Abs, Nico

Sim, quero persistí-lo.

Cada vez que eu chamar a rota, precisarei passar a data e hora retornado da última vez. (É uma forma de conseguir somente os dados atualizados nesse intervalo de tempo e não pegar toda a carga de dados sempre que a rota for executada).

<setHeader headerName="CamelHttpQuery" id="HeaderHttpQueryRequestDatabase">
    <simple>dtUltAtualizacao={{dtUltAtualizacao}}</simple>
</setHeader>
<toD id="toDatabaseRequestCreate" uri="http4://{{toDatabaseRequestCreate.url}}"/>

Eu pensei em algumas possibilidades: - Atualizar o arquivo .properties "on the fly", mas não sei se isso é possível. - Salvar em um banco de dados, mas iria criar um banco só para guardar esse tipo de dado do camel? Não acho que seja a melhor solução. - Talvez tenha como criar essa variável pelo osgi e utilizar ela de alguma forma desse tipo: ${dtUltAtualizacao}. Mas também não consegui descobrir ainda se é possível ou não.

Gostaria de saber qual a melhor prática para se usar nesse momento.

Obrigado.

solução!

Oi Douglas,

se nao precisar das garantias transacionais de um banco de dados, pode criar um arquivo com Camel. Basta usar o componente file e definir a mensagem através de um Processor. O componente file grava a mensagem no arquivo como mostramos no curso.

Se precisar de mais ajuda, por favor, pergunte aqui.

abs

Obrigado. Achei que teria uma forma mais "bonita" de fazer isso. Mas irei fazer dessa forma. Obrigado.