java - 如果我们在指定时间内没有收到响应,如何关闭 API 连接

标签 java jakarta-ee io struts2 httpclient

我正在调用一个 API 来获取响应,但如果 API 关闭,我的请求就会卡在那里,并且在 API 启动之前控制权不会恢复。一旦 API 启动并运行,所有挂起的请求都会立即涌入它,然后我们就会得到响应。

我的需求是这样的:
1.调用API
2.等待15秒得到响应
3.如果我在 15 秒内没有得到响应,请执行某些操作(例如:抛出异常)
4.关闭我已经连接的连接。

请帮助提供代码片段。
我试过使用 CloseableHttpClient、HttpResponse、CloseableHttpResponse。

最佳答案

尝试使用 OKHTTP。在其中,您的代码将如下所示。

new Response.Builder()
                   .code(600) //Simply put whatever value you want to designate to aborted request.
                   .request(chain.request())
                   .build();

关于java - 如果我们在指定时间内没有收到响应,如何关闭 API 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50982778/

相关文章:

Javamail 的 getUnreadMessagesCount() 返回全部邮件而不是未读邮件

jakarta-ee - Oracle Firstcup 教程 (firstcup-war)

multithreading - Haskell forkIO 线程使用 putStrLn 在彼此之上写入

javascript - Node Js如何在阻塞进程的情况下处理多个并行请求

java - JsonMappingException : N/A when trying to deserialize JSON file

java - 如何打印 HashMap 中多个键的值?

java - 由 NullPointerException 引起的一般错误 [50000-175]

java - 如何将数据从 EJB 拦截器传递到异步 EJB 中的拦截器

java - 将 JSON URL 传递给 java Restful WebService

java - 跳到一行并阅读它