对 Java 操作应用超时控制

2024-04-20

我正在使用第三方 Java 库与 REST API 进行交互。 REST API 有时可能需要很长时间才能响应,最终导致java.net.ConnectException被抛出。

我想缩短超时时间,但无法修改第三方库。

我想在 Java 方法的调用周围应用某种形式的超时控制,以便我可以确定在什么时候放弃等待。

这与网络超时没有直接关系。我希望能够尝试执行一项操作,并能够在指定的等待时间后放弃。

以下内容绝不是有效的 Java,但确实从概念上演示了我想要实现的目标:

try {
    Entity entity = new Entity();
    entity.methodThatMakesUseOfRestApi();
} catch (<it's been ages now, I don't want to wait any longer>) {
    throw TimeoutException();
}

我建议时间限制器 https://github.com/google/guava/blob/master/guava/src/com/google/common/util/concurrent/TimeLimiter.java来自谷歌番石榴库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Java 操作应用超时控制 的相关文章

随机推荐