terça-feira, 28 de agosto de 2018

Habilitando Result Caching - Business Service

Neste post irei mostrar como configurar o "result caching" de um business service.

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