报错信息:com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found: fallback([class java.lang.String])
@RestController
@RequestMapping("/http")
public class HttpController {
@Autowired
CityClient cityClient;
/**
* 熔断器的应用场景是有进行服务之间的调用。这里使用feign调用weather服务,所以这里如果无法访问
* weather的getDataParam服务的时候,就启动熔断器,调用反馈方法fallback
* @param city
* @return
*/
@HystrixCommand(fallbackMethod="fallback")
@RequestMapping("/getDataParam/{city}")
public String getDataParam(@PathVariable("city")String city){
return cityClient.getDataParam(city);
}
public String fallback(){
return "services is not running!";
}
}
这是因为备用方法和原方法参数不一样导致的。
改为:
public String fallback(String city){
return "services is not running! parameters city is:"+city;
}
请求正常