我正在尝试在我的应用程序中使用HTTPAsyncClient进行“fire and forget”(即无需等待响应)。但是,为了实现真正的“fire and forget”,我需要避免关闭客户端,因为如果我关闭客户端,连接可能还没有建立。您可以参考这个网址:http://hc.apache.org/httpcomponents-asyncclient-4.0.x/。请注意,本文中的HTML标签已保留。
CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
httpclient.start();
HttpGet request = new HttpGet(url);
Future<HttpResponse> future = httpclient.execute(request, null);
HttpResponse resp = future.get();
httpclient.close();
有一种想法是我不关闭httpclient,而是在多个URL上继续使用它。 因此,我将在服务器启动时生成一个客户端,并在所有请求中继续使用相同的客户端。
这样做的好处是不需要关闭,因为只有在服务器停止时才会释放。 我的问题是,这样做会有问题吗?客户端会在一段时间后变得过时吗?