Как создать Redis Conditional Bean? - PullRequest
0 голосов
/ 08 марта 2019

Мне нужно создать RedisTemplate bean в конфигурации Java.

Если конфигурация redis (информация о сервере redis) не найдена, создайте bean-компонент redis с пустым кешем по умолчанию.

Можете ли вы предложить?

Заранее спасибо.

1 Ответ

1 голос
/ 08 марта 2019

Если сервер 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());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...