Multiple execution by apache httpclient
所以事情是这样的,我需要访问一个非常繁忙的站点,而我只需要一个请求就无法访问。
所以我想要的是使用 Apache HttpClient 或其他好的 java 库对同一个网址发出多个请求,并等待站点的成功响应。一旦请求获得成功响应,线程中的所有其他请求都需要立即终止。
我该怎么做?另外,如果有其他好的库可用于该任务,请告诉我。
我的建议是使用单线程并在出现错误时重试。这样您就不会淹没繁忙的站点。这不会慢很多,因为如果服务器很忙,发出更多的请求不会给你带来任何好处。
如果您决定使用多个线程(使用 2),所有线程需要共享同一个 HTTP 客户端:
1 | CloseableHttpClient httpclient = createDefault(); |
当您收到成功的回复时,您必须致电
1 | httpclient.close(); |
并停止所有线程。