断路器模式

问题描述 投票:0回答:1

该回退方法和实际方法应该返回相同的返回类型。

@HystrixCommand(fallbackMethod = "reliable")
  public String readingList() {
    URI uri = URI.create("http://localhost:8090/recommended");

    return this.restTemplate.getForObject(uri, String.class);
  }

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

我应该做什么来从回退方法reading list返回String并从实际方法reliable返回一些Object?

java microservices hystrix circuit-breaker
1个回答
3
投票

根据定义,回退方法意味着在发生某些事情时替换真实方法。 你不能返回不同的类型。它没有任何意义。 因此,方法签名必须完全相同,只有少数例外。

  1. 返回类型必须相同或协变
  2. 方法参数必须相同。并且您可以添加类型为Throwable的额外参数以获取调用回退的异常。
© www.soinside.com 2019 - 2024. All rights reserved.