如何将弹簧断路器与缓存管理器一起使用?

问题描述 投票:0回答:1

[我已经看到许多在服务方法上使用诸如Netflix的@HystrixCommand之类的示例,但是在使用一个或多个CacheManager实例时是否可以启用断路器?换句话说,如果基础服务在一段时间内不可用或不稳定,请绕过Spring缓存。

[具体来说,在使用Spring Cache时,我们只是有一个用@Cacheable注释的方法。通常,对于断路器,您指定一个后备,但我们的后备是“不要使用缓存,只需正常执行我们的方法即可”。我们如何使用注释来实现呢?我们是否需要重构代码以分隔CacheManager调用?

spring spring-data-redis spring-cache circuit-breaker redis-cache
1个回答
0
投票

我认为您应该编写一个自定义的缓存管理器,然后在其中编写断路器逻辑。

@ Component公共CacheManager CustomCacheManager实现CacheManager {

@Override
public Cache getCache(String s) {
    return null;
}

@Override
public Collection<String> getCacheNames() {
    return null;
}

}

© www.soinside.com 2019 - 2024. All rights reserved.