1
resposta

Utilização do Spring Cache

Nas aulas estamos utilizando cache local, Se estivéssemos utilizando um provedor cache. Na classe TopicosController.java tem que ser feito alterações ou o que está lá, já supri? Segue exemplo de dois métodos.

    @GetMapping
    @Cacheable(value = "listaDeTopicos")
    public Page<TopicoDto> lista(@RequestParam(required = false) String nomeCurso, @PageableDefault(size = 10, direction = Direction.DESC) Pageable paginacao) 

e


    @PostMapping
    @Transactional
    @CacheEvict(value = "listaDeTopicos", allEntries = true)
    public ResponseEntity<TopicoDto> cadastrar(@RequestBody @Valid TopicoForm form, UriComponentsBuilder uriBuilder)
1 resposta

Vai depender um pouco de cada provider, mas na aplicação as anotações seriam as mesmas, o spring abstrai a complexidade especifica de cada provider.

Por exemplo, no EhCache é usado um arquivo chamado "ehcache.xml" que deve ser encontrado na raiz do classpath. Se o EhCache 2.x for encontrado, o EhCacheCacheManager fornecido pelo spring-boot-starter-cache "Starter" será usado para inicializar o gerenciador de cache. Um arquivo de configuração alternativo também pode ser fornecido, conforme mostrado no exemplo a seguir:

spring.cache.ehcache.config=classpath:config/another-config.xml

Tutorial: https://springframework.guru/using-ehcache-3-in-spring-boot/