【发布时间】:2018-10-03 09:40:31
【问题描述】:
我正在开发一个 SpringBoot 微服务,它被配置为使用 2 个缓存管理器,EhCache 和 RedisCache,我正在尝试实现 CacheErrorHandler 来分别处理缓存错误。
根据reference,似乎我只能定义一个处理所有类型缓存的CacheErrorHandler。
请问有没有办法为不同的缓存管理器实现不同的CacheErrorHandler?
Redis 缓存管理器 Bean 配置:
@Bean
@Primary
@ConditionalOnBean(CustomCacheProperties.class)
public CacheManager redisCacheManager(RedisConnectionFactory connectionFactory, CustomCacheProperties customCacheProperties) {
return RedisCacheManager.builder(connectionFactory)
.cacheDefaults(RedisCacheConfiguration.defaultCacheConfig())
.withInitialCacheConfigurations(customCacheProperties.getInitialCacheConfigurations())
.build();
}
EhCache 缓存管理器 Bean 配置:
@Bean(name = "ehcache")
public CacheManager ehcacheManager() {
return new EhCacheCacheManager(ehCacheCacheManager().getObject());
}
参考:https://dzone.com/articles/safeguard-spring-app-from-cache-failure
【问题讨论】:
标签: spring spring-boot redis ehcache