Nos métodos que têm a annotation @CacheEvict, se ao chamá-los houver um erro (o usuário passou dados inválidos, ou houve um erro ao gravar no banco, por exemplo), ainda assim o cache é apagado?
Nos métodos que têm a annotation @CacheEvict, se ao chamá-los houver um erro (o usuário passou dados inválidos, ou houve um erro ao gravar no banco, por exemplo), ainda assim o cache é apagado?
Olá Thiago,
A annotation @CacheEvict é responsável por invalidar o cache de um método, fazendo com que na próxima chamada do mesmo, os dados sejam buscados novamente e armazenados em cache. Em relação à sua pergunta, a resposta é sim, o cache é apagado mesmo quando ocorre um erro ao chamar o método.
Isso acontece porque a annotation @CacheEvict é executada antes do método ser chamado, ou seja, mesmo que ocorra um erro, o cache já foi invalidado. Porém, é importante lembrar que a annotation @CacheEvict pode ser configurada com a opção "beforeInvocation" para que o cache seja invalidado apenas após a execução do método.
Espero ter ajudado e bons estudos!