这里接着上一篇《【spring cloud】hystrix降级功能基本使用》继续讲,hystrix是可以为某个方法单独设置超时时间的。
将上文中的default替换为需要配置的方法的签名即可,例如MyService#retry(int)。如方法签名过长,可通过下面的方式生成方法签名。
System.out.print(Feign.configKey(MyService.class,
MyService.class.getMethod("retry",int.class)));
也可以在方法上面添加一个key来做一个对方法的映射,将default替换 为key即可。
@HystrixCommand(commandKey = "cacheKey")
配置示例:
hystrix:
command:
cacheKey:
fallback:
#是否开启服务降级
enabled: true
execution:
timeout:
#超时
enabled: true
isolation:
thread:
#超时时间
timeoutInMilliseconds: 3000
#超时以后终止线程
interruptOnTimeout: true
#取消的时候终止线程
interruptOnFutureCancel: true