Spring Cloud 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 должны его поддержать.


person Chandresh Mishra    schedule 10.02.2018    source источник
comment
проверьте мой ответ здесь stackoverflow.com/questions/48628164/   -  person pvpkiran    schedule 10.02.2018
comment
Я проверил ваш ответ. Вы имеете в виду, что если я перенесу эти частные методы в отдельный класс, они будут работать? Пожалуйста, поправьте меня, если я ошибаюсь.   -  person Chandresh Mishra    schedule 10.02.2018
comment
да. Ты прав ..   -  person pvpkiran    schedule 10.02.2018


Ответы (1)


Проблема была решена путем перемещения отдельного метода, помеченного @HystrixCommmand, в отдельный файл класса, и автоматический выключатель начал работать.

Спасибо, пвпкиран.

person Chandresh Mishra    schedule 11.02.2018