java - @Cacheable 超时/ hystrix spring
问题描述
我正在使用 @Cachebale 来缓存请求响应。
@Cacheable
@HystrixCommand(fallbackMethod = "myFallBackResponse" )
public Response call(Request request) {}
正如您在上面的代码中看到的,我使用 netflix-hystix 来设置此方法调用的超时时间。
但是当这个调用进入 cache 时,hystrix 超时将被完全忽略。
有没有办法将超时与 @Cacheable 相关联,有或没有 hystrix?
解决方案
我仍在研究这个,但是...... AFAIK 每个注释都会创建它自己的 Aspect (AOP) 切入点。除非明确定义(我不能 100% 确定您可以使用这些注释),否则它们的顺序无法保证。Hystrix(Javanica)有自己的缓存机制,底层缓存可能是相同的(ehcache)库,但它有自己的命令控制缓存:缓存名称、密钥、驱逐。我认为解决方案是删除可缓存注释并使用 Hystrix (Javanica) 自己的 Hystrix 缓存注释。
推荐阅读
- java - 具有相同命名空间的两个 WSDL 的 WSImport 绑定
- jquery - Select2 - 从多个选择框中删除一个选项
- php - 在 Laravel 中使用 foreach:删除相同的值
- python - Tensorflow`语法错误:pywrap_tensorflow`安装后
- web - 如何将 MariaDB 连接到 Node.JS 和 Express.JS?
- vue.js - 由于 css 中的 svg,无法使用 vue cli 3 模板构建项目
- reactjs - create-react-app 无法解析模块
- loops - 如何打破 Go 中的嵌套循环?
- powershell - 提高 Windows 2016 中 PowerShell 命令的速度
- go - 如何添加新路由来自动生成资源?