<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网站免费| 永久免费av无码入口国语片| 亚洲AV日韩精品一区二区三区| 亚洲av无码专区在线电影| 成人免费在线视频| 亚洲色大成网站www久久九| 免费无码AV片在线观看软件| 亚洲区视频在线观看| 在线观看视频免费完整版| 亚洲精品无码永久在线观看男男| 免费无码黄网站在线观看| 欧美色欧美亚洲另类二区| 亚洲国产成人久久一区WWW| 中文字幕高清免费不卡视频| 亚洲人成网77777亚洲色| 久艹视频在线免费观看| 亚洲免费观看在线视频| 天天摸天天碰成人免费视频| 香蕉视频免费在线播放| 亚洲精品自产拍在线观看| 免费A级毛片无码视频| 亚洲精品亚洲人成在线播放| 大香人蕉免费视频75| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 亚洲AV无码专区亚洲AV伊甸园| 久艹视频在线免费观看| 亚洲无mate20pro麻豆| 亚洲高清无码专区视频| 无码av免费网站| 亚洲1区2区3区精华液| 久久久久久A亚洲欧洲AV冫| 日韩免费无码一区二区三区| 亚洲综合色丁香婷婷六月图片| 亚洲国产人成精品| 91精品导航在线网址免费| 亚洲精品无码aⅴ中文字幕蜜桃| 激情97综合亚洲色婷婷五| 114级毛片免费观看| 国产亚洲精品免费| 久久久婷婷五月亚洲97号色 |