当前位置: 首页 > 知识库问答 >
问题:

HttpClient应在何时关闭?[副本]

郑承恩
2023-03-14

我正在构建一个Android应用程序,它将向服务器发送多个HTTP请求(比如每秒钟一个请求)来获取数据。我必须遵循的最佳实践是什么?

我是否应该在每次请求后创建并关闭客户端,如下所示?

CloseableHttpClient httpClient = HttpClientBuilder.create().build();

try {
    HttpPost request = new HttpPost("http://yoururl");
    StringEntity params = new StringEntity(json.toString());
    request.addHeader("content-type", "application/json");
    request.setEntity(params);
    httpClient.execute(request);
// handle response here...
} catch (Exception ex) {
    // handle exception here
} finally {
    httpClient.close();
}

或者我应该首先创建一个客户端,将其用于所有请求,然后在完成后最终关闭它?

共有1个答案

单于奕
2023-03-14

关闭HttpClient的想法是释放分配的资源。因此,这取决于您计划触发这些HTTP请求的频率。

请记住,每10秒发送一个请求被认为是永恒的;)

 类似资料:
  • 我正在使用HttpClient v4.5.5 我有一个如下: 然后我使用超文本传输协议客户端如下: 通过定期调用(每隔几分钟) 偶尔我会出错 ,据我所知,这种情况要么发生在旧的HttpClient版本上,要么发生在您关闭HttpClient时。我没有这样做。所以我不明白为什么会出现这个错误。它会恢复,但有这样的异常是个问题。

  • 版本 上下文 我只是想在核心示例io中运行http客户端。维特斯。实例果心http。易于理解的客户运行此示例时,its发现已建立的连接在请求完成后未关闭。 服务器端我没有看到任何问题。因为在尝试使用jmeter和服务器时,它工作得很好。所以我认为问题在于HttpClient。 有人能帮我吗? 提前谢谢。复制的步骤 额外的 即使在请求和响应结束后,仍会显示以下内容。在给LINUX 窗户 在LINUX

  • 问题内容: 在Swing中,您可以简单地用于在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? 类中定义的方法不执行任何操作。 问题答案: 当最后一个关闭时,应用程序自动停止。目前,您的类

  • 我做了一个记事本程序,我想知道如何创建一个弹出窗口,当我点击“关闭”按钮并询问用户是否愿意保存写在记事本中的内容时,该窗口就会弹出。 我认为JOptionPane是一个解决方案,但不知道如何在它创建的窗口中添加按钮,以及如何调用“弹出”窗口。

  • 问题内容: 我的应用程序需要执行以下操作: 打开一个,并获取基础(通过) 根据以上内容创建新对象 到目前为止,我只需要一个,所以我过去通过调用原始流(即,我调用的流)来关闭它。我之所以使用它,是因为某些Android API方法具有此类参数。 现在我将同时拥有更多对象,什么时候关闭?(我的猜测:何时所有对象都关闭了?) 问题答案: 我相信你是对的。小型测试表明,在关闭后,该变得无效。请注意,如果有

  • 我有一个单身汉需要开始执行计划。以下是代码: 我不确定何时或是否应该调用执行器的关机方法。我使用的是JEE5,所以我不确定仅仅取消部署应用程序是否会自动执行关机,或者我是否在浪费大量时间,创建大量线程,并且没有杀死它们。 -编辑- 我会再补充一些信息,以防万一。 整个应用程序是一个RESTful web应用程序,使用Jersey作为ServletContainer。