spring-cloud - Spring cloud openfeign 3.0.1回退未被触发
问题描述
我正在使用 spring-cloud-starter-openfeign 的 3.0.1 版本,并且在回退实现方面遇到了问题。如果发生任何异常,似乎它不会被触发。
为了引发异常,我配置了一个带有无效主机作为 url 的 feign 客户端:
@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 。
我应该配置更多吗?我错过了什么吗?
提前致谢。
解决方案
最后,我修复了添加依赖项的问题:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
推荐阅读
- swiftui - 如何使用 SwiftUI2 网格创建“砌体式”布局?
- python - 为什么我的输出在创建 dict() 时返回“None None”?
- javascript - 尝试清除/清空/删除/设置回初始状态时,React setState 挂钩不起作用
- linux - Linux下调试.NET Core
- pandas - 如何在 pandas groubpy 对象上调用不同的聚合操作
- ios - IOS操作完成后如何释放vImage缓冲区
- reactjs - Electron React App,路径未映射到构建文件夹中的 JS 文件
- node.js - cy.task() with require('oracledb') 抛出错误
- javascript - 如何从包含多个数组的 JSON 中提取所有数据?
- c# - 返回一个元组而不是抛出异常是一个坏主意吗?