您好,我正在获取回退方法,在postMap中找不到异常。尽管当我的另一个服务关闭时,它对getMap非常有效。
我正在使用两个服务1)管理 Jmeter 盘和2)类别服务
现在我在管理服务中,想添加,但我想在类别服务关闭时显示回退方法响应。
@Autowired
private GrandParentCategoryServiceImp grandParentService;
@PostMapping("/save/grand-parent-category")
public RedirectView saveCategory(@ModelAttribute("grandParentCategory")
GrandParentCategory grandParentCategory){
GrandParentCategory response = grandParentService.save(grandParentCategory);
System.out.println("Saving grand category => "+response);
return new RedirectView("/categories");
}
我的祖父母CategoryServiceImp.class
@Autowired
private RestTemplate template;
@HystrixCommand(fallbackMethod = "saveFallbackForGrandParentCategory")
@Override
public GrandParentCategory save(GrandParentCategory grandParentCategory) {
try{
// set headers
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// set request body with headers
HttpEntity<GrandParentCategory> request =
new HttpEntity<>(grandParentCategory,headers);
ResponseEntity<GrandParentCategory> responseEntity
= template.postForEntity(RequestURLS.GRAND_PARENT_CATEGORY_STORE_URL,request,GrandParentCategory.class);
HttpStatus status = responseEntity.getStatusCode();
System.out.println("body"+responseEntity.getBody());
if (status == HttpStatus.OK) {
return responseEntity.getBody();
}
}catch (HttpStatusCodeException e){
if (e.getStatusCode() == HttpStatus.NOT_FOUND) {
return null;
}
throw e;
}
return null;
}
private GrandParentCategory saveFallbackForGrandParentCategory(){
return new GrandParentCategory(-1L,"Service is Down");
}
错误看起来像
There was an unexpected error (type=Internal Server Error, status=500).
fallback method wasn't found: saveFallbackForGrandParentCategory([class com.adminuiservice.dto.GrandParentCategory])
com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionException: fallback method wasn't found: saveFallbackForGrandParentCategory([class com.adminuiservice.dto.GrandParentCategory])
at com.netflix.hystrix.contrib.javanica.utils.MethodProvider$FallbackMethodFinder.doFind(MethodProvider.java:190)
at com.netflix.hystrix.contrib.javanica.utils.MethodProvider$FallbackMethodFinder.find(MethodProvider.java:159)
at com.netflix.hystrix.contrib.javanica.utils.MethodProvider.getFallbackMethod(MethodProvider.java:73)
at com.netflix.hystrix.contrib.javanica.utils.MethodProvider.getFallbackMethod(MethodProvider.java:59)
at com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect.setFallbackMethod(HystrixCommandAspect.java:331)
暂无答案!
目前还没有任何答案,快来回答吧!