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.
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.
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();
}
}