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

Springboot com Redis

Olá Rodrigo.

Implementei a parte de cache com o Redis, porém estou com dificuldade de manter a API funcional em caso de queda do Redis. Saberia dizer se isso é possível? pois não quero que a API tenha dependência do Redis para rodar.

1 resposta
solução!

Consegui resolver criando um cache error handler e uma classe de caching configuration, conforme abaixo, caso alguém precise.

import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.Cache;
import org.springframework.cache.interceptor.CacheErrorHandler;

@Slf4j
public class CustomCacheErrorHandler implements CacheErrorHandler {
    @Override
    public void handleCacheGetError(RuntimeException e, Cache cache, Object o) {
        log.error("e.getMessage(), e");
    }

    @Override
    public void handleCachePutError(RuntimeException e, Cache cache, Object o, Object o1) {
        log.error(e.getMessage(), e);
    }

    @Override
    public void handleCacheEvictError(RuntimeException e, Cache cache, Object o) {
        log.error(e.getMessage(), e);
    }

    @Override
    public void handleCacheClearError(RuntimeException e, Cache cache) {
        log.error(e.getMessage(), e);
    }
}
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.interceptor.CacheErrorHandler;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CachingConfiguration extends CachingConfigurerSupport {
    @Override
    public CacheErrorHandler errorHandler() {
        return new CustomCacheErrorHandler();
    }
}