问题描述
在使用feign过程中,通过配置 feign.hystrix.enabled=true
开启熔断。但启动后将直接执行fallback也不会判断调用是否成功。在未配置熔断启动的情况下调用正常,当前需要开启熔断后先尝试调用,在调用失败后才调用fallback的回退方法。
相关代码
Feign 客户端
@FeignClient(name = ServiceConstant.HNISTER_SECURITY,fallback = ResourceRestApiFallback.class,path = "api")
public interface ResourceRestApi {
@GetMapping(path = "resources")
List<ResourceDTO> findAll();
@GetMapping(path = "resources/status/{status}")
List<ResourceDTO> findByStatus(@PathVariable(name = "status") Integer status);
}
Fallback
@Component
public class ResourceRestApiFallback implements ResourceRestApi {
private Logger logger = LoggerFactory.getLogger(ResourceRestApiFallback.class);
@Override
public List<ResourceDTO> findAll() {
logger.error("#hnister# feign client ResourceRestApiFallback.findAll() fail");
return Lists.newArrayList();
}
@Override
public List<ResourceDTO> findByStatus(Integer status) {
logger.error("#hnister# feign client ResourceRestApiFallback.findByStatus() fail");
return Lists.newArrayList();
}
}
遇到同样的问题,解决了吗?