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

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

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

    隨筆 - 5, 文章 - 0, 評論 - 0, 引用 - 0
    數據加載中……

    2012年11月13日

    HttpAsyncClient

    HttpAsyncClient 是一個異步的 HTTP 客戶端開發包,基于 HttpCore NIO 和 HttpClient 組件。
    HttpAsyncClient 的出現并不是為了替換 HttpClient,而是作為一個補充用于需要大量并發連接,對性能要求非常高的基于HTTP的原生數據通信,而且提供了事件驅動的 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已經有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 莊主游驥 閱讀(625) | 評論 (0)編輯 收藏

    web.xml頁面配置

         摘要: web.xml頁面配置參數詳解         加載順序與它們在 web.xml 文件中的先后順序無關。即不會因為 filter 寫在 listener 的前面而會先加載 filter。最終得出的結論是:listener -> filter -> servlet。  同時還存在著這樣一種配置節...  閱讀全文

    posted @ 2012-11-13 11:37 莊主游驥 閱讀(3200) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 久久久青草青青亚洲国产免观| 午夜小视频免费观看| 亚洲人成色7777在线观看不卡| 久久精品熟女亚洲av麻豆| 在线精品免费视频| 亚洲av无码专区国产不乱码| 午夜私人影院免费体验区| 亚洲国产av玩弄放荡人妇| 免费在线观看a级毛片| 免费一级全黄少妇性色生活片| 亚洲?v无码国产在丝袜线观看 | 久久九九亚洲精品| 国产自国产自愉自愉免费24区| 亚洲国产精品无码成人片久久| 日韩av无码久久精品免费| 亚洲人成片在线观看| 在线观看免费a∨网站| 日本视频免费观看| 亚洲日产韩国一二三四区| 无码一区二区三区免费| 亚洲一区二区三区四区视频 | 亚洲日本va在线视频观看| 四虎国产成人永久精品免费| 精品亚洲AV无码一区二区三区| 日本免费无遮挡吸乳视频电影| 人体大胆做受免费视频| 亚洲国产成人久久精品影视| www.黄色免费网站| 色一情一乱一伦一视频免费看| 亚洲色偷偷偷鲁综合| 免费看国产成年无码AV片| 一级一级一级毛片免费毛片| 99ri精品国产亚洲| 日本一道本高清免费| 国产精品免费高清在线观看| 亚洲精品无码中文久久字幕| 亚洲线精品一区二区三区影音先锋| 精品免费久久久久久久| 色多多www视频在线观看免费| 亚洲色偷偷av男人的天堂| 免费大黄网站在线看|