我需要在Java配置中创建 RedisTemplate bean。
如果找不到redis配置(redis服务器信息),则创建具有空缓存的默认redis bean。
你能建议吗?
谢谢。
答案 0 :(得分:1)
如果redis服务器未在运行,则需要实现一个缓存错误处理程序,如果未缓存数据,则该重定向程序将重定向到要调用的原始方法。以下错误处理程序应该可以解决问题:
@Component
public class RedisCacheErrorHandler implements CacheErrorHandler {
private final Logger log = LoggerFactory.getLogger(getClass());
@Override
public void handleCacheGetError(RuntimeException exception, Cache cache, Object key) {
log.info("Unable to get from cache " + cache.getName() + " : " + exception.getMessage());
}
@Override
public void handleCachePutError(RuntimeException exception, Cache cache, Object key, Object value) {
log.info("Unable to put into cache " + cache.getName() + " : " + exception.getMessage());
}
@Override
public void handleCacheEvictError(RuntimeException exception, Cache cache, Object key) {
log.info("Unable to evict from cache " + cache.getName() + " : " + exception.getMessage());
}
@Override
public void handleCacheClearError(RuntimeException exception, Cache cache) {
log.info("Unable to clean cache " + cache.getName() + " : " + exception.getMessage());
}
}