@Cacheable with timeout / hystrix spring

时间:2018-06-26 08:39:42

标签: java spring spring-data spring-annotations hystrix

我正在使用@Cachebale来缓存请求响应。

@Cacheable
@HystrixCommand(fallbackMethod = "myFallBackResponse" )
public Response call(Request request) {}

如您在上面的代码中看到的,我已经使用netflix-hystix为该方法调用设置超时。

但是当此调用转到cache时,hystrix超时将被完全忽略。

有没有办法将超时与@Cacheable关联(带或不带hystrix)?

1 个答案:

答案 0 :(得分:0)

我仍在对此进行研究,但是... AFAIK每个注释都会创建其自己的Aspect(AOP)切入点。并且除非明确定义,否则不能保证它们的顺序(我不能百分百确定您可以使用这些注释)。 Hystrix(Javanica)拥有自己的缓存机制,底层缓存可能是相同的(ehcache)库,但它拥有控制缓存的自己的命令:缓存名称,键,退出。 我认为解决方案是删除可缓存的注释,并使用Hystrix(Javanica)自己的Hystrix缓存注释。