<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 5, 文章 - 0, 評論 - 0, 引用 - 0
    數(shù)據(jù)加載中……

    2012年11月26日

    HttpAsyncClient

    HttpAsyncClient 是一個異步的 HTTP 客戶端開發(fā)包,基于 HttpCore NIO 和 HttpClient 組件。
    HttpAsyncClient 的出現(xiàn)并不是為了替換 HttpClient,而是作為一個補(bǔ)充用于需要大量并發(fā)連接,對性能要求非常高的基于HTTP的原生數(shù)據(jù)通信,而且提供了事件驅(qū)動的 API。

    代碼示例:

           public Vector<Long> Gets(List<String> urls)
    throws IOReactorException, InterruptedException {
    List<HttpGet> requests = new ArrayList<HttpGet>();
    for (String url : urls) {
    HttpGet get = new HttpGet(url);
    requests.add(get);
    }
    final Vector<Long> dataPackages = new Vector<Long>();
    HttpAsyncClient httpclient = new DefaultHttpAsyncClient();
    httpclient.getParams().setIntParameter("http.socket.timeout", 5000)
    .setIntParameter("http.connection.timeout", 5000)
    .setIntParameter("http.socket.buffer-size", 8192)
    .setBooleanParameter("http.tcp.nodelay", true);
    final CountDownLatch latch = new CountDownLatch(requests.size());
    httpclient.start();
    try {
    for (final HttpGet request : requests) {
    httpclient.execute(request, new FutureCallback<HttpResponse>() {

    @Override
    public void completed(HttpResponse result) {
    String statInfo = "";
    try {
    statInfo = result.getFirstHeader("statInfo").getValue();
    if (statInfo != null) {
    Long size = Long.parseLong(statInfo.split(",")[0].split(":")[1]);
    dataPackages.add(size);
    }
    } catch (Exception e) {
    System.out.println(e);
    System.out.println(statInfo);
    }
    latch.countDown();
    }

    @Override
    public void failed(Exception ex) {
    latch.countDown();
    }

    @Override
    public void cancelled() {
    latch.countDown();
    }
    });
    }
    latch.await();
    } finally {
    httpclient.shutdown();
    }
    return dataPackages;
    }

     


    依賴的pom,
    httpasyncclient已經(jīng)有4.0-beta3版本了
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpasyncclient</artifactId>
        <version>4.0-beta1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.2-beta1</version>
    </dependency>


    posted @ 2012-11-26 10:46 莊主游驥 閱讀(631) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲精品国产成人| 日本亚洲欧洲免费天堂午夜看片女人员| 亚洲国产av一区二区三区丶| 亚洲国产精久久久久久久| 亚洲成AV人在线播放无码| 亚洲国产一二三精品无码| 亚洲精品国产精品乱码视色| 亚洲无线码一区二区三区| 亚洲精品国产精品乱码视色 | 一区二区视频免费观看| 一级黄色免费毛片| 成全视成人免费观看在线看| 中文字幕不卡高清免费| 好久久免费视频高清| 99re热精品视频国产免费| 亚洲日本在线免费观看| 最近最新MV在线观看免费高清| 一区二区无码免费视频网站| 免费观看的毛片手机视频| 四虎永久免费影院| 中文字幕在线亚洲精品| 亚洲av日韩av激情亚洲| 亚洲国产精品久久久久秋霞影院 | 国产精品亚洲产品一区二区三区 | 国产亚洲精品资源在线26u| 亚洲AV午夜福利精品一区二区| 久久精品国产亚洲AV电影| 亚洲成_人网站图片| 国产亚洲精品国产福利在线观看| 无码人妻一区二区三区免费视频| 中文字幕在线成人免费看| 91精品国产免费入口| 一个人免费观看视频www| 国产免费一区二区三区VR| 中文字幕不卡亚洲| 亚洲麻豆精品果冻传媒| 亚洲AV永久无码精品放毛片| 一区二区三区在线免费观看视频| 日本一区二区免费看| 啦啦啦在线免费视频| 最新精品亚洲成a人在线观看|