我使用的是spring-cloud-starter-openfeign的3.0.1版本,我在回退实现上遇到了问题。如果发生任何异常,它似乎不会被触发。
我配置了一个带有无效主机的假客户端作为url,以便引发一个异常:
@FeignClient(name = "feignClientTest", url = "invalid.url", fallback = FeignClientTest.FallbackTest.class)
public interface FeignClientTest {
@RequestMapping(method = RequestMethod.GET, value = "/fake/url")
String getFromFakeUrl();
@Component
class FallbackTest implements FeignClientTest {
private final Logger log = LoggerFactory.getLogger(this.getClass());
@Override
public String getFromFakeUrl() {
log.debug("Fallback occurred for getFromFakeUrl");
return "Fallback";
}
}
}
在调用getFromFakeUrl()方法之后,我得到了一个java.net.UnknownHostException,而不是在回退实现中使用的" fallback“字符串。
我在应用程序配置文件中设置了feign.circuitbreaker.enabled=true。
我应该配置更多的东西吗?我是不是遗漏了什么?
提前谢谢。
发布于 2021-10-13 14:47:13
最后,我修复了添加依赖项的问题:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
https://stackoverflow.com/questions/69524571
复制相似问题