Package org.apache.http.impl.conn

Examples of org.apache.http.impl.conn.PoolingHttpClientConnectionManager


     */
    @Test
    public void testAbortBeforeExecute() throws Exception {
        this.localServer.register("*", new BasicService());

        final PoolingHttpClientConnectionManager conMan = new PoolingHttpClientConnectionManager();
        final AtomicReference<Throwable> throwableRef = new AtomicReference<Throwable>();
        final CountDownLatch getLatch = new CountDownLatch(1);
        final CountDownLatch startLatch = new CountDownLatch(1);
        final CloseableHttpClient client = HttpClients.custom().setConnectionManager(conMan).build();
        final HttpContext context = new BasicHttpContext();
View Full Code Here


        final int port = this.localServer.getServiceAddress().getPort();
        this.localServer.register("*", new SimpleService());

        final HttpHost target = new HttpHost("localhost", port);

        final PoolingHttpClientConnectionManager mgr = new PoolingHttpClientConnectionManager();
        mgr.setMaxTotal(workerCount);
        mgr.setDefaultMaxPerRoute(workerCount);

        final UserTokenHandler userTokenHandler = new UserTokenHandler() {

            public Object getUserToken(final HttpContext context) {
                final String id = (String) context.getAttribute("user");
View Full Code Here

        final int port = this.localServer.getServiceAddress().getPort();
        this.localServer.register("*", new SimpleService());

        // We build a client with 2 max active // connections, and 2 max per route.
        final PoolingHttpClientConnectionManager connMngr = new PoolingHttpClientConnectionManager();
        connMngr.setMaxTotal(maxConn);
        connMngr.setDefaultMaxPerRoute(maxConn);

        final UserTokenHandler userTokenHandler = new UserTokenHandler() {

            public Object getUserToken(final HttpContext context) {
                return context.getAttribute("user");
View Full Code Here

        this.localServer.register("/random/*", new RandomHandler());
        this.localServer.start();

        final InetSocketAddress saddress = this.localServer.getServiceAddress();

        final PoolingHttpClientConnectionManager mgr = new PoolingHttpClientConnectionManager();
        mgr.setMaxTotal(5);
        mgr.setDefaultMaxPerRoute(5);

        final HttpClient client = HttpClients.custom().setConnectionManager(mgr).build();
        final HttpHost target = new HttpHost(saddress.getHostName(), saddress.getPort(), "http");

        final WorkerThread[] workers = new WorkerThread[10];
        for (int i = 0; i < workers.length; i++) {
            workers[i] = new WorkerThread(
                    client,
                    target,
                    new URI("/random/2000"),
                    10, false);
        }

        for (final WorkerThread worker : workers) {
            worker.start();
        }
        for (final WorkerThread worker : workers) {
            worker.join(10000);
            final Exception ex = worker.getException();
            if (ex != null) {
                throw ex;
            }
        }

        // Expect some connection in the pool
        Assert.assertTrue(mgr.getTotalStats().getAvailable() > 0);

        mgr.shutdown();
    }
View Full Code Here

        this.localServer.register("/random/*", new RandomHandler());
        this.localServer.start();

        final InetSocketAddress saddress = this.localServer.getServiceAddress();

        final PoolingHttpClientConnectionManager mgr = new PoolingHttpClientConnectionManager();
        mgr.setMaxTotal(5);
        mgr.setDefaultMaxPerRoute(5);

        final HttpClient client = HttpClients.custom().setConnectionManager(mgr).build();

        final HttpHost target = new HttpHost(saddress.getHostName(), saddress.getPort(), "http");

        final WorkerThread[] workers = new WorkerThread[10];
        for (int i = 0; i < workers.length; i++) {
            workers[i] = new WorkerThread(
                    client,
                    target,
                    new URI("/random/2000"),
                    10, false);
        }

        for (final WorkerThread worker : workers) {
            worker.start();
        }
        for (final WorkerThread worker : workers) {
            worker.join(10000);
            final Exception ex = worker.getException();
            if (ex != null) {
                throw ex;
            }
        }

        // Expect zero connections in the pool
        Assert.assertEquals(0, mgr.getTotalStats().getAvailable());

        mgr.shutdown();
    }
View Full Code Here

        this.localServer.register("/random/*", new RandomHandler());
        this.localServer.start();

        final InetSocketAddress saddress = this.localServer.getServiceAddress();

        final PoolingHttpClientConnectionManager mgr = new PoolingHttpClientConnectionManager();
        mgr.setMaxTotal(5);
        mgr.setDefaultMaxPerRoute(5);

        final HttpClient client = HttpClients.custom().setConnectionManager(mgr).build();

        final HttpHost target = new HttpHost(saddress.getHostName(), saddress.getPort(), "http");

        final WorkerThread[] workers = new WorkerThread[10];
        for (int i = 0; i < workers.length; i++) {
            workers[i] = new WorkerThread(
                    client,
                    target,
                    new URI("/random/2000"),
                    10, true);
        }

        for (final WorkerThread worker : workers) {
            worker.start();
        }
        for (final WorkerThread worker : workers) {
            worker.join(10000);
            final Exception ex = worker.getException();
            if (ex != null) {
                throw ex;
            }
        }

        // Expect zero connections in the pool
        Assert.assertEquals(0, mgr.getTotalStats().getAvailable());

        mgr.shutdown();
    }
View Full Code Here

        this.localServer.register("/random/*", new RandomHandler());
        this.localServer.start();

        final InetSocketAddress saddress = this.localServer.getServiceAddress();

        final PoolingHttpClientConnectionManager mgr = new PoolingHttpClientConnectionManager();
        mgr.setMaxTotal(1);
        mgr.setDefaultMaxPerRoute(1);

        final HttpClient client = HttpClients.custom().setConnectionManager(mgr).build();

        final HttpHost target = new HttpHost(saddress.getHostName(), saddress.getPort(), "http");

        HttpResponse response = client.execute(target, new HttpGet("/random/2000"));
        EntityUtils.consume(response.getEntity());

        Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
        Assert.assertEquals(1, localServer.getAcceptedConnectionCount());

        response = client.execute(target, new HttpGet("/random/2000"));
        EntityUtils.consume(response.getEntity());

        Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
        Assert.assertEquals(1, localServer.getAcceptedConnectionCount());

        // Now sleep for 1.1 seconds and let the timeout do its work
        Thread.sleep(1100);
        response = client.execute(target, new HttpGet("/random/2000"));
        EntityUtils.consume(response.getEntity());

        Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
        Assert.assertEquals(2, localServer.getAcceptedConnectionCount());

        // Do another request just under the 1 second limit & make
        // sure we reuse that connection.
        Thread.sleep(500);
        response = client.execute(target, new HttpGet("/random/2000"));
        EntityUtils.consume(response.getEntity());

        Assert.assertEquals(1, mgr.getTotalStats().getAvailable());
        Assert.assertEquals(2, localServer.getAcceptedConnectionCount());


        mgr.shutdown();
    }
View Full Code Here

         * Create a load of workers which will access the resource. Half will use the default
         * gzip behaviour; half will require identity entity.
         */
        final int clients = 100;

        final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
        cm.setMaxTotal(clients);

        this.httpclient = HttpClients.custom().setConnectionManager(cm).build();

        final ExecutorService executor = Executors.newFixedThreadPool(clients);

View Full Code Here

    }

    @Test
    @Ignore("We have a concurrency bug in HttpCore which will be addressed after HttpClient 4.3.2 is released")
    public void testIdleConnectionEviction() throws Exception {
        final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
        cm.setDefaultMaxPerRoute(10);
        cm.setMaxTotal(50);

        final HttpClient httpclient = HttpClients.custom().setConnectionManager(cm).build();

        final IdleConnectionMonitor idleConnectionMonitor = new IdleConnectionMonitor(cm);
        idleConnectionMonitor.start();
View Full Code Here

    private PoolingHttpClientConnectionManager mgr;

    @Before
    public void setUp() throws Exception {
        startServer();
        this.mgr = new PoolingHttpClientConnectionManager();
        this.httpclient = HttpClients.custom().setConnectionManager(this.mgr).build();
    }
View Full Code Here

TOP

Related Classes of org.apache.http.impl.conn.PoolingHttpClientConnectionManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.