springcloud Hoxton.SR5,使用openfeign熔断不生效???

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接口时,远程服务模拟出异常和超时都没有触发回调的方法,这个时怎么回事??

阅读 4.4k
1 个回答
  1. 看下异常是否是HystrixBadRequestException异常,该异常是特殊异常不会触发熔断
  2. 看下是否有全局异常处理,如果有的话看是否全局异常处理是否是不分情况直接返回200而影响了降级与熔断
  3. 打开feign的日志排查

    @Configuration
    public class FooConfiguration {
     @Bean
     Logger.Level feignLoggerLevel() {
         return Logger.Level.FULL;
     }
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题