程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java完成HttpClient異步要求資本的辦法

java完成HttpClient異步要求資本的辦法

編輯:關於JAVA

java完成HttpClient異步要求資本的辦法。本站提示廣大學習愛好者:(java完成HttpClient異步要求資本的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是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.谷歌.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法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved