【发布时间】:2018-07-21 02:40:04
【问题描述】:
我正在从公共方法内部调用两个标有@HystrixCommand 的私有方法。但是 Hystrix 断路器不工作。 如果我将 @HystrixCommand 移动到公共父方法,它可以工作,但我不希望它在顶部。
public PersonResponseModel getPerson(String nino,int id)
{
//person data from database
Person person=fetchPerson(nino);
PersonResponseModel personResponseModel=personMapper.personToPersonResponse(person);
//Get org data from extenal resource
OrganizationDTO organizationDTO=getOrganizationData(id);
}
@HystrixCommand
private OrganizationDTO getOrganizationData(int OrganizationId)
{
randomlyRunLong(); // Testing
ResponseEntity<OrganizationDTO> reponse= organizationClient.getOrganization(OrganizationId);
OrganizationDTO organizationDTO=reponse.getBody();
return organizationDTO;
}
@HystrixCommand
private Person fetchPerson(String nino)
{
return personRepository.findByNino(nino);
}
这是一个很常见的场景我希望spring cloud和Hystrix应该支持这个。
【问题讨论】:
-
我已经检查了你的答案。你的意思是如果我将这些私有方法移动到单独的类中它会起作用吗?如果我错了,请纠正我。
-
是的。你是对的..
标签: spring spring-boot spring-cloud-netflix hystrix netflix