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

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

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

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    實例一:

    package com.abin.lee.async;

    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.nio.client.DefaultHttpAsyncClient;
    import org.apache.http.nio.client.HttpAsyncClient;
    import org.apache.http.nio.reactor.IOReactorException;
    import org.junit.Test;

    import java.io.IOException;
    import java.util.concurrent.Future;

    /**
     * Created with IntelliJ IDEA.
     * User: abin
     * Date: 13-4-23
     * Time: 下午6:13
     * To change this template use File | Settings | File Templates.
     */
    public class HttpAsyncClientTest {
        private static final String HttpUrl="http://localhost:8100/MyThread/HttpClientPostProxyServlet";
        @Test
        public void testHttpAsyncClient() throws IOException {
             HttpAsyncClient httpAsyncClient=new DefaultHttpAsyncClient();
             httpAsyncClient.start();
            HttpPost request=null;
            try {
                request=new HttpPost(HttpUrl);
                Future<HttpResponse> future=httpAsyncClient.execute(request,null);
                HttpResponse response=future.get();
                System.out.println("response="+response);
            }catch(Exception e){
                 e.printStackTrace();
            }finally {
                if(!request.isAborted()){
                    request.abort();;
                }
                httpAsyncClient.getConnectionManager().shutdown();
            }

        }
    }








    實例二:

    package com.abin.lee.async;

    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.concurrent.FutureCallback;
    import org.apache.http.impl.nio.client.DefaultHttpAsyncClient;
    import org.apache.http.nio.client.HttpAsyncClient;
    import org.junit.Test;

    import java.io.IOException;
    import java.util.concurrent.CountDownLatch;
    import java.util.concurrent.Future;

    /**
     * Created with IntelliJ IDEA.
     * User: abin
     * Date: 13-4-23
     * Time: 下午6:13
     * To change this template use File | Settings | File Templates.
     */
    public class HttpAsyncClientFutureCallBackTest {
        private static final String HttpUrl="http://localhost:8100/MyThread/HttpClientGetProxyServlet";
        private static final String HttpOneUrl="http://localhost:8100/MyThread/HttpClientGetOneServlet";
        private static final String HttpTwoUrl="http://localhost:8100/MyThread/HttpClientGetTwoServlet";
        @Test
        public void testHttpAsyncClientFutureCallBack() throws IOException {
             HttpAsyncClient httpAsyncClient=new DefaultHttpAsyncClient();
             httpAsyncClient.start();
            HttpGet[] requests=null;
            try {
                requests=new HttpGet[]{new HttpGet(HttpUrl),new HttpGet(HttpOneUrl),new HttpGet(HttpTwoUrl)};
                final CountDownLatch latch=new CountDownLatch(requests.length);
                for(final HttpGet request:requests){
                    httpAsyncClient.execute(request,new FutureCallback<HttpResponse>() {
                        @Override
                        public void completed(HttpResponse httpResponse) {
                            latch.countDown();
                            System.out.println(request.getRequestLine()+"--->"+httpResponse.getStatusLine());
                            //To change body of implemented methods use File | Settings | File Templates.
                        }

                        @Override
                        public void failed(Exception e) {
                            latch.countDown();
                            System.out.println(request.getRequestLine()+"-->"+e.getMessage());
                            //To change body of implemented methods use File | Settings | File Templates.
                        }

                        @Override
                        public void cancelled() {
                            latch.countDown();
                            System.out.println(request.getRequestLine()+"--->"+" cancelled");
                             //To change body of implemented methods use File | Settings | File Templates.
                        }
                    }) ;
                }
                latch.await();
                System.out.println("shutting down");
            }catch(Exception e){
                 e.printStackTrace();
            }finally {
                httpAsyncClient.getConnectionManager().shutdown();
            }

        }
    }

    posted on 2013-04-28 16:26 abin 閱讀(2379) 評論(0)  編輯  收藏 所屬分類: httpClient
    主站蜘蛛池模板: 亚洲成AV人片高潮喷水| 一级毛片不卡片免费观看| 亚洲成人动漫在线观看| 伊人久久亚洲综合| 日本高清免费网站| 永久在线观看www免费视频| 国产精品午夜免费观看网站| 亚洲欧美黑人猛交群| 亚洲黄色网址在线观看| 国产亚洲精品成人AA片新蒲金| 日本不卡高清中文字幕免费| 日本h在线精品免费观看| 国产午夜无码精品免费看动漫| 成人免费观看男女羞羞视频| 亚洲6080yy久久无码产自国产| 亚洲欧洲日产国码www| 亚洲gv白嫩小受在线观看| 国产亚洲欧洲Aⅴ综合一区| 免费国产成人高清在线观看麻豆 | 大胆亚洲人体视频| 精品国产免费一区二区| 成人影片麻豆国产影片免费观看 | 亚洲精品成人久久| 亚洲精品国产精品乱码视色| 亚洲片一区二区三区| 免费国产真实迷j在线观看| 国产在线a不卡免费视频| 成年性生交大片免费看| 黄色成人网站免费无码av| 三年片在线观看免费观看高清电影 | 久久国产一片免费观看| 黄页网址在线免费观看| 国产成人综合亚洲| 美女视频黄频a免费观看| 黄网站色成年片大免费高清 | 全黄性性激高免费视频| 亚洲av麻豆aⅴ无码电影| 亚洲午夜AV无码专区在线播放| 亚洲欧洲日产国码一级毛片| 亚洲熟妇少妇任你躁在线观看无码| 午夜亚洲av永久无码精品|