Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ExpireAfterAccess não está funcionando

Boa noite, eu configurei o Guava conforme explicado no vídeo, porém ao invés de 5 minutos coloquei 1 minuto na configuração ExpireAfterAccess, também fui no ProdutoController e desabilitei aquela questão do "CacheEvict" para ter certeza que o Guava iria realmente expirar o cache após 1 minuto. Daí, cadastrei um novo produto esperei vários minutos e ele não aparece, alguém sabe o motivo?

1 resposta
solução!

Fala Eduardo, tudo bem?

Os Caches construídos com CacheBuilder não limpam o cache instantaneamente após um valor expirar, ele simplesmente marca aquele valor como expirado.

A razão disso é que para executar a limpeza do cache continuamente seria necessário criar uma thread e suas operações de limpeza estariam alocando o cache, consequentemente competindo com as operações de escrita/leitura do usuário.

Se precisar limpar o seu cache dos valores expirados, chame o Cache.cleanUp().

Abraço!