java实现HttpClient异步请求资源 java实现HttpClient异步请求资源的方法
答复哈 人气:0想了解java实现HttpClient异步请求资源的方法的相关内容吗,答复哈在本文为您仔细讲解java实现HttpClient异步请求资源的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,HttpClient,异步请求,资源,下面大家一起来学习吧。
本文实例讲述了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程序设计有所帮助。
加载全部内容