Bul*_*aur 3 java http apache-httpclient-4.x
我正在尝试在我的应用程序中使用 HTTPAsyncCLient 进行即发即忘。
http://hc.apache.org/httpcomponents-asyncclient-4.0.x/
但对于真正的即发即忘,我需要避免关闭客户端,因为我不想等待响应,如果我关闭,则可能直到那时才建立连接。
CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
httpclient.start();
HttpGet request = new HttpGet(url);
Future<HttpResponse> future = httpclient.execute(request, null);
HttpResponse resp = future.get();
httpclient.close();
Run Code Online (Sandbox Code Playgroud)
所以一个想法是我不关闭 httpclient,并继续将它用于多个 URL。因此,我将在服务器启动时生成一个客户端,并继续对所有请求使用相同的客户端。
这样,就不需要关闭,因为只有当服务器停止时才会释放它。我的问题是这会成为问题吗?一段时间后客户端会变得陈旧吗?
HttpAsyncClient强烈建议重复使用同一个实例。HttpAsyncClient 不会变得“过时”。HttpAsyncClient仅当不再需要执行任何请求时才需要关闭(例如,在应用程序关闭的情况下)。