【发布时间】:2022-01-13 10:51:20
【问题描述】:
当没有返回响应时,我需要让我的 Rest Api 超时。例如,当我发出请求时,如果返回响应的时间超过 5 秒,则超时。
为了实现这一点,我选择了使用 Hystrix 的断路器。但是我不确定这是否是解决这个问题的正确方法,如果一切都好,是否应该对 Hystrix 进行更多配置?
我当前的实现看起来像,
主类
@SpringBootApplication
@EnableCircuitBreaker
class MyApplication{
}
休息控制器
@GetMapping("/data")
@HystrixCommand(commandKey="response")
public String getResponse(){
Thread.sleep(10000);
.....
}
application.properties
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000
当超时时,它会抛出一个 HystrixRunTimeException 并使用自定义异常处理程序进行处理。
这是实现请求超时的正确方法吗?
【问题讨论】:
标签: java spring spring-boot rest hystrix