Hystrix断路器未选择该应用程序。

时间:2019-02-03 23:34:29

标签: spring-boot hystrix

Hystrx断路器未从application.yml文件中选择值。我需要从application.yml文件中获取timeoutInMilliseconds,errorThresholdPercentage。当我运行程序时,这些属性不会受到影响,因为这些属性不会被拾取。

import java.net.URI;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Service
public class BookService {
      RestTemplate restTemplate;
      //Calling the service
     @HystrixCommand
      public String readingList(int flag) {
        restTemplate = new RestTemplate();
         URI uri = URI.create("http://localhost:8090/recommended/"+flag);
        return this.restTemplate.getForObject(uri, String.class);
      }

      public String reliable(int flag) {
        return "Cloud Native Java (O'Reilly)";
      }

}

这是application.yml文件

hystrix:
  command:
    reliable:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 6000
          strategy: SEMAPHORE
        circuitBreaker:
          errorThresholdPercentage: 70

1 个答案:

答案 0 :(得分:0)

您需要使用@HystrixCommand()注释您的方法,并提供commandKey =“ reliable”。

@HystricCommand(commandKey="reliable")
public String reliable(int flag) {
    return "Cloud Native Java (O'Reilly)";
  }