application.yml
feign:
circuitbreaker: # 开启hystrix熔断
enabled: true
【注】把circuitbreaker 换成 hystrix也没用
@FeignClient(
value = AppConstant.APPLICATION_SYSTEM_NAME,
fallback = ISysUserClientFallback.class,
path = AppConstant.SYSTEM_API_PREFIX
)
public interface ISysUserClient {
/**
* 系统后台用户登录
* @param sysUserLginDTO
* @return
*/
@PostMapping("/sysUserLogin")
Result<SysUserLoginBO> sysUserLogin(@RequestBody SysUserLginDTO sysUserLginDTO);
}
熔断回调方法
@Component
public class ISysUserClientFallback implements ISysUserClient {
@Override
public Result<SysUserLoginBO> sysUserLogin(SysUserLginDTO sysUserLginDTO) {
return ResultUtil.error(GlobalResponseResultEnum.INTERNAL_SERVER_ERROR);
}
}
当调用这个/sysUserLogin接口时,远程服务模拟出异常和超时都没有触发回调的方法,这个时怎么回事??
HystrixBadRequestException
异常,该异常是特殊异常不会触发熔断打开feign的日志排查