O "result caching" é recomendado para serviços que não mudam com frequência suas respostas, assim ajudando a reduzir sobrecargas de rede, melhorando a escalabilidade e reduzindo cargas de servidores.
Esta configuração utiliza o Oracle Coherence, que está incluso no Weblogic.Para o correto funcionamento, precisamos configurar o "Cache Token", uma chave única para o Coherence efetuar o controle do cache.
Configurando "Result Caching" no Business Service.
Abra o Business Service e vá na sessão "Performance", click em "Enable Result Caching" e click em "expression"
Preencha com um valor que seja chave. Ex:
Em "Expiration Time", para teste, selecione "Duration" e coloque 15 segundos.
Default: utiliza o parâmetro "expiry-delay" do arquivo "osb-coherence-cache-config.xml" que está no arquivo resultcache.gar. O valor default é 5 minutos
Duration: permite que seja configurado hr:min:sec
Expression: Expressão XQuery para recuperar o tempo de expiração do resquest ou response.
Coloque uma atividade de "Replace" no pipeline para verificarmos as informações de cache na chamada do business.
<cache-info>
<cache-originated>{fn:data($outbound/ctx:transport/ctx:response/tp:cache-originated)}</cache-originated>
<cache-token>{fn:data($outbound/ctx:transport/ctx:response/tp:cache-token)}</cache-token>
</cache-info>
Teste:
Primeira execução:
Segunda execução:
Observe que na segunda execução, o parametro "cache-originated" retornou com o valor "true", indicando que foi recuperado do cache.
O cache-token e o tempo de expiração podem ser sobrescritos via pipeline, inclua uma atividade de insert e acrescente as informações em ./ctx:transport/ctx:request
Nenhum comentário:
Postar um comentário