春云Hystrix无法正常工作

时间:2018-02-10 12:39:05

标签: spring spring-boot spring-cloud-netflix hystrix netflix

我在public方法中调用了两个用@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应该支持这个。

1 个答案:

答案 0 :(得分:0)

通过将使用@HystrixCommmand注释的单个方法移动到单独的类文件并断路器开始工作,解决了该问题。

谢谢,pvpkiran。