[英]spring cloud hystrix fallbackfactory
當我用hystrix研究Spring cloud偽裝時,遇到一個問題,如果我使用LOGGER.info(“ **** {}”,cause.getMessage()),后備功能將不起作用,UserFeignClient#findById(Long)會計時退出和后備失敗。 但是,如果我刪除cause.getMessage(),回退就可以了。 為什么?
public class UserFeignFallBackFactory implements FallbackFactory<UserFeignClient> {
private static final Logger LOGGER = LoggerFactory.getLogger(UserFeignFallBackFactory.class);
@Override
public UserFeignClient create(Throwable cause) {
LOGGER.info("call UserFeignClient error, error msg is : {}");
return new UserFeignClientEx() {
@Override
public User findById(@PathVariable("id") Long id) {
return new User(-1L, null, null, (short) 20);
}
};
}
}
你可以這樣嘗試
public class UserFeignFallBackFactory implements FallbackFactory<UserFeignClient> {
private static final Logger LOGGER = LoggerFactory.getLogger(UserFeignFallBackFactory.class);
@Override
public UserFeignClient create(Throwable cause) {
return new UserFeignClientEx() {
@Override
public User findById(@PathVariable("id") Long id) {
LOGGER.info("call UserFeignClient error, error msg is : {}");
return new User(-1L, null, null, (short) 20);
}
};
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.