本文实例讲述了java实现HttpClient异步请求资源的方法。分享给大家供大家参考。具体实现方法如下:
package demo; import java.util.concurrent.CountDownLatch; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.nio.client.DefaultHttpAsyncClient; import org.apache.http.nio.client.HttpAsyncClient; import org.apache.http.nio.concurrent.FutureCallback; import org.apache.http.nio.reactor.IOReactorException; public class Main { /** * @param args * @throws IOReactorException * @throws InterruptedException */ public static void main(String[] args) throws IOReactorException, InterruptedException { final HttpAsyncClient httpclient = new DefaultHttpAsyncClient(); httpclient.start(); HttpGet[] requests = new HttpGet[] { new HttpGet("http://www.apache.org/"), new HttpGet("https://www.verisign.com/"), new HttpGet("http://www.google.com/") }; final CountDownLatch latch = new CountDownLatch(requests.length); try { for (final HttpGet request: requests) { httpclient.execute(request, new FutureCallback<HttpResponse>() { public void completed(final HttpResponse response) { latch.countDown(); System.out.println(request.getRequestLine() + "->" + response.getStatusLine()); } public void failed(final Exception ex) { latch.countDown(); ex.printStackTrace(); } public void cancelled() { latch.countDown(); } }); } System.out.println("Doing..."); }finally { latch.await(); httpclient.shutdown(); } System.out.println("Done"); } }
希望本文所述对大家的java程序设计有所帮助。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, httpclient
, 异步请求
资源
java实现http异步请求、httpclient异步请求、webclient 异步请求、httpclient4 异步请求、异步请求应答实现方式,以便于您获取更多的相关知识。
时间: 2024-09-22 09:09:22