对 Java 操作应用超时控制
我正在使用第三方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();
}