当前位置: 代码迷 >> 综合 >> 关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found
  详细解决方案

关于 hystrix 的异常 FallbackDefinitionException:fallback method wasn't found

热度:34   发布时间:2023-10-25 16:24:53.0

在 Spring Cloud 中使用断路器 hystrix 后,可能会遇到异常:com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found。    

    如果通过注解@HystrixCommand的方式来实现的话,服务降级就要在注解中添加fallbackMethod参数来指定具体的服务降级实现方法:

@HystrixCommand(fallbackMethod = "fallbackHi")
public String getHi(String hi) {String msg = restTemplate.getForObject("http://jack/hi", String.class);return msg;
}public String fallbackHi(){//因为指定的 备用方法 和 原方法 的参数个数,类型不同,就会报错return null;
}

正确写法:

@HystrixCommand(fallbackMethod = "fallbackHi")
public String getHi(String x) {String msg = restTemplate.getForObject("http://jack/hi", String.class);return msg;
}public String fallbackHi(String hi){return null;
}
这样就不会报错了。





  相关解决方案