我在 FallBackFactory 中发现异常原因时遇到问题,我的是一个旧应用程序,所以我不能使用 Spring Cloud 方法(带有注释等)
我找到了以下解决方案,但仍然不适合我: 在 HystrixFeign 客户端回退中获取原因的问题
这是我的代码:
public static class ProfileFallbackFactory implements ProfileProxy, FallbackFactory<ProfileFallbackFactory> {
final Throwable cause;
public ProfileFallbackFactory() {
this(null);
}
ProfileFallbackFactory(Throwable cause) {
this.cause = cause;
}
@Override
public ProfileFallbackFactory create(Throwable cause) {
LOG.info("Profile fallback create "+cause);
return new ProfileFallbackFactory(cause);
}
public Profile getProfile(String id) {
}
实例创建:
profileProxy = new HystrixFeign.Builder().setterFactory(new CustomSetterFactory())
.decode404()
.decoder(new GsonDecoder(gsonWithDateFormat))
.encoder(new GsonEncoder(gsonWithDateFormat))
.errorDecoder(new profileProxyErrorDecoder())
.target(ProfileProxy.class,profileServiceUrl, (FallbackFactory<ProfileFallbackFactory>)new ProfileFallbackFactory());
ProfileProxyErrorDecoder 类中添加了一个记录器,但是在日志中找不到该记录器。我可以在服务器日志中看到 com.netflix.hystrix.exception.HystrixRuntimeException
有人可以指出我哪里出错了吗?