Весеннее облако Hystrix не работает
Я вызываю два закрытых метода, помеченных @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 должны это поддержать.
1 ответ
Проблема была решена путем перемещения отдельного метода, аннотированного @HystrixCommmand, в отдельный файл класса, и автоматический выключатель начал работать.
Спасибо, пвпкиран.