【发布时间】:2020-01-25 15:23:34
【问题描述】:
好吧,所以我找不到关于这个主题的任何有用的材料,我发现的大部分文章都有一个用 @HystrixCommand 注释的方法并定义了一个备用方法。
我找到的另一个解决方案是使用 @DefaultProperties(defaultFallback = "fallbackMethod") 但问题是方法需要具有兼容的返回类型。
不幸的是,在我的服务中,我有许多具有完全不同签名的方法,而且我需要掌握可投掷(在文档中提到您不能为默认后备方法提供任何参数)。这些方法看起来像这样:
@Service
@RequiredArgsConstructor
public class MyService {
private final FeignClient feignClient;
@Override
public String methodA(final CustomObjectA o, final String entity) {
...
}
@Override
public String methodB(final String collection, final Map<String, Object> requestBody) {
...
}
@Override
public String methodC(final String collection, final String id, final Map<String, Object> requestBody) {
...
}
}
而且我在服务中有超过 3 种方法 def...
我真正想避免的是使用 20 种 hystrix 默认回退方法。
有没有一种方法可以为所有方法定义标准回退,无论它们有什么签名,还是我坚持为每个方法定义一个回退方法?
提前致谢!!
【问题讨论】:
标签: java spring-boot spring-cloud hystrix fallback