Я вызываю два частных метода, отмеченных @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);
}
Это очень распространенный сценарий, я надеюсь, что весеннее облако и Hystrix должны его поддержать.