Example usage for org.apache.commons.httpclient MultiThreadedHttpConnectionManager MultiThreadedHttpConnectionManager

List of usage examples for org.apache.commons.httpclient MultiThreadedHttpConnectionManager MultiThreadedHttpConnectionManager

Introduction

In this page you can find the example usage for org.apache.commons.httpclient MultiThreadedHttpConnectionManager MultiThreadedHttpConnectionManager.

Prototype

public MultiThreadedHttpConnectionManager() 

Source Link

Usage

From source file:voldemort.client.HttpStoreClientFactory.java

public HttpStoreClientFactory(ClientConfig config) {
    super(config);
    HostConfiguration hostConfig = new HostConfiguration();
    hostConfig.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
    MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
    this.httpClient = new HttpClient(connectionManager);
    this.httpClient.setHostConfiguration(hostConfig);
    HttpClientParams clientParams = this.httpClient.getParams();
    clientParams.setConnectionManagerTimeout(config.getConnectionTimeout(TimeUnit.MILLISECONDS));
    clientParams.setSoTimeout(config.getSocketTimeout(TimeUnit.MILLISECONDS));
    clientParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false));
    clientParams.setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
    clientParams.setParameter("http.useragent", VOLDEMORT_USER_AGENT);
    HttpConnectionManagerParams managerParams = this.httpClient.getHttpConnectionManager().getParams();
    managerParams.setConnectionTimeout(config.getConnectionTimeout(TimeUnit.MILLISECONDS));
    managerParams.setMaxTotalConnections(config.getMaxTotalConnections());
    managerParams.setStaleCheckingEnabled(false);
    managerParams.setMaxConnectionsPerHost(httpClient.getHostConfiguration(),
            config.getMaxConnectionsPerNode());
    this.reroute = config.getRoutingTier().equals(RoutingTier.SERVER);
    this.requestFormatFactory = new RequestFormatFactory();
}

From source file:voldemort.performance.HttpClientBench.java

private static HttpClient createClient() {
    HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
    HttpClient httpClient = new HttpClient(connectionManager);
    HttpClientParams clientParams = httpClient.getParams();
    clientParams.setConnectionManagerTimeout(DEFAULT_CONNECTION_MANAGER_TIMEOUT);
    clientParams.setSoTimeout(500);//from ww w  . j  av  a  2 s  .  c  o m
    clientParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false));
    clientParams.setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
    clientParams.setBooleanParameter("http.tcp.nodelay", false);
    clientParams.setIntParameter("http.socket.receivebuffer", 60000);
    clientParams.setParameter("http.useragent", VOLDEMORT_USER_AGENT);
    HostConfiguration hostConfig = new HostConfiguration();
    hostConfig.setHost("localhost");
    hostConfig.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
    httpClient.setHostConfiguration(hostConfig);
    HttpConnectionManagerParams managerParams = httpClient.getHttpConnectionManager().getParams();
    managerParams.setConnectionTimeout(DEFAULT_CONNECTION_MANAGER_TIMEOUT);
    managerParams.setMaxTotalConnections(DEFAULT_MAX_CONNECTIONS);
    managerParams.setMaxConnectionsPerHost(httpClient.getHostConfiguration(), DEFAULT_MAX_HOST_CONNECTIONS);
    managerParams.setStaleCheckingEnabled(false);

    return httpClient;
}

From source file:voldemort.performance.RemoteStoreComparisonTest.java

public static void main(String[] args) throws Exception {
    if (args.length != 2)
        Utils.croak("USAGE: java " + RemoteStoreComparisonTest.class.getName()
                + " numRequests numThreads [useNio]");

    int numRequests = Integer.parseInt(args[0]);
    int numThreads = Integer.parseInt(args[1]);
    boolean useNio = args.length > 2 ? args[2].equals("true") : false;

    /** * In memory test ** */
    final Store<byte[], byte[], byte[]> memStore = new InMemoryStorageEngine<byte[], byte[], byte[]>("test");
    PerformanceTest memWriteTest = new PerformanceTest() {

        @Override//  www.  j  a v a2  s .c o  m
        public void doOperation(int i) {
            byte[] key = String.valueOf(i).getBytes();
            memStore.put(key, new Versioned<byte[]>(key), null);
        }
    };
    System.out.println("###########################################");
    System.out.println("Performing memory write test.");
    memWriteTest.run(numRequests, numThreads);
    memWriteTest.printStats();
    System.out.println();

    PerformanceTest memReadTest = new PerformanceTest() {

        @Override
        public void doOperation(int i) {
            try {
                memStore.get(String.valueOf(i).getBytes(), null);
            } catch (Exception e) {
                System.out.println("Failure on i = " + i);
                e.printStackTrace();
            }
        }
    };
    System.out.println("Performing memory read test.");
    memReadTest.run(numRequests, numThreads);
    memReadTest.printStats();
    System.out.println();
    System.out.println();

    /** * Do Socket tests ** */
    String storeName = "test";
    StoreRepository repository = new StoreRepository();
    repository.addLocalStore(new InMemoryStorageEngine<ByteArray, byte[], byte[]>(storeName));
    SocketStoreFactory storeFactory = new ClientRequestExecutorPool(10, 1000, 1000, 32 * 1024);
    final Store<ByteArray, byte[], byte[]> socketStore = storeFactory.create(storeName, "localhost", 6666,
            RequestFormatType.VOLDEMORT_V1, RequestRoutingType.NORMAL);
    RequestHandlerFactory factory = ServerTestUtils.getSocketRequestHandlerFactory(repository);
    AbstractSocketService socketService = ServerTestUtils.getSocketService(useNio, factory, 6666, 50, 50, 1000);
    socketService.start();

    PerformanceTest socketWriteTest = new PerformanceTest() {

        @Override
        public void doOperation(int i) {
            byte[] bytes = String.valueOf(i).getBytes();
            ByteArray key = new ByteArray(bytes);
            socketStore.put(key, new Versioned<byte[]>(bytes), null);
        }
    };
    System.out.println("###########################################");
    System.out.println("Performing socket write test.");
    socketWriteTest.run(numRequests, numThreads);
    socketWriteTest.printStats();
    System.out.println();

    PerformanceTest socketReadTest = new PerformanceTest() {

        @Override
        public void doOperation(int i) {
            try {
                socketStore.get(TestUtils.toByteArray(String.valueOf(i)), null);
            } catch (Exception e) {
                System.out.println("Failure on i = " + i);
                e.printStackTrace();
            }
        }
    };
    System.out.println("Performing socket read test.");
    socketReadTest.run(numRequests, 1);
    socketReadTest.printStats();
    System.out.println();
    System.out.println();

    socketStore.close();
    storeFactory.close();
    socketService.stop();

    /** * Do HTTP tests ** */
    repository.addLocalStore(new InMemoryStorageEngine<ByteArray, byte[], byte[]>(storeName));
    HttpService httpService = new HttpService(null, null, repository, RequestFormatType.VOLDEMORT_V0,
            numThreads, 8080);
    httpService.start();
    HttpClient httpClient = new HttpClient(new MultiThreadedHttpConnectionManager());
    HttpClientParams clientParams = httpClient.getParams();
    clientParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(0, false));
    clientParams.setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
    clientParams.setParameter("http.useragent", "test-agent");
    HostConfiguration hostConfig = new HostConfiguration();
    hostConfig.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
    httpClient.setHostConfiguration(hostConfig);
    HttpConnectionManagerParams managerParams = httpClient.getHttpConnectionManager().getParams();
    managerParams.setConnectionTimeout(10000);
    managerParams.setMaxTotalConnections(numThreads);
    managerParams.setStaleCheckingEnabled(false);
    managerParams.setMaxConnectionsPerHost(httpClient.getHostConfiguration(), numThreads);
    final HttpStore httpStore = new HttpStore("test", "localhost", 8080, httpClient,
            new RequestFormatFactory().getRequestFormat(RequestFormatType.VOLDEMORT_V0), false);
    Thread.sleep(400);

    PerformanceTest httpWriteTest = new PerformanceTest() {

        @Override
        public void doOperation(int i) {
            byte[] key = String.valueOf(i).getBytes();
            httpStore.put(new ByteArray(key), new Versioned<byte[]>(key), null);
        }
    };
    System.out.println("###########################################");
    System.out.println("Performing HTTP write test.");
    httpWriteTest.run(numRequests, numThreads);
    httpWriteTest.printStats();
    System.out.println();

    PerformanceTest httpReadTest = new PerformanceTest() {

        @Override
        public void doOperation(int i) {
            httpStore.get(new ByteArray(String.valueOf(i).getBytes()), null);
        }
    };
    System.out.println("Performing HTTP read test.");
    httpReadTest.run(numRequests, numThreads);
    httpReadTest.printStats();

    httpService.stop();
}

From source file:voldemort.store.readonly.swapper.StoreSwapperTest.java

@Test
public void testHttpStoreSwapper() throws Exception {
    ExecutorService executor = Executors.newCachedThreadPool();

    try {/* w ww  .  j  a v  a 2s.  c  o  m*/
        // Use the http store swapper
        HttpConnectionManager manager = new MultiThreadedHttpConnectionManager();
        manager.getParams().setMaxTotalConnections(10);
        manager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 10);
        HttpClient client = new HttpClient(manager);
        StoreSwapper swapper = new HttpStoreSwapper(cluster, executor, client, "read-only/mgmt", true, true);
        testFetchSwap(swapper);
    } finally {
        executor.shutdown();
    }
}

From source file:voldemort.store.readonly.swapper.StoreSwapperTest.java

@Test
public void testHttpStoreSwapperWithoutRollback() throws Exception {
    ExecutorService executor = Executors.newCachedThreadPool();

    try {// w  ww  .ja  v a2s. co m
        // Use the http store swapper
        HttpConnectionManager manager = new MultiThreadedHttpConnectionManager();
        manager.getParams().setMaxTotalConnections(10);
        manager.getParams().setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 10);
        HttpClient client = new HttpClient(manager);
        StoreSwapper swapper = new HttpStoreSwapper(cluster, executor, client, "read-only/mgmt", false, false);
        testFetchSwapWithoutRollback(swapper);
    } finally {
        executor.shutdown();
    }
}

From source file:webdav.ManageWebDAV.java

public void connectWebDAVServer(String strUri, int intMaxConnections, String strUserId, String strPassword) {
    HostConfiguration hostConfig = new HostConfiguration();
    hostConfig.setHost(strUri);//from   w  w  w  .j  av  a2s .  c o  m

    HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
    HttpConnectionManagerParams params = new HttpConnectionManagerParams();
    params.setMaxConnectionsPerHost(hostConfig, intMaxConnections);
    connectionManager.setParams(params);

    this.client = new HttpClient(connectionManager);
    client.setHostConfiguration(hostConfig);
    Credentials creds = new UsernamePasswordCredentials(strUserId, strPassword);
    client.getState().setCredentials(AuthScope.ANY, creds);
}

From source file:webdav.ManageWebDAVContacts.java

/**
 *
 * Public Section//from www  .  j  a va 2s. com
 *
 */
public void connectHTTP(String strUser, String strPass, String strHost, boolean insecure) {
    //Connect WebDAV with credentials
    hostConfig = new HostConfiguration();
    hostConfig.setHost(strHost);
    connectionManager = new MultiThreadedHttpConnectionManager();
    connectionManagerParams = new HttpConnectionManagerParams();
    connectionManagerParams.setMaxConnectionsPerHost(hostConfig, this.intMaxConnections);
    connectionManager.setParams(connectionManagerParams);
    client = new HttpClient(connectionManager);
    creds = new UsernamePasswordCredentials(strUser, strPass);
    client.getState().setCredentials(AuthScope.ANY, creds);
    client.setHostConfiguration(hostConfig);

    if (insecure) {
        Protocol easyhttps = new Protocol("https", new EasySSLProtocolSocketFactory(), 443);
        Protocol.registerProtocol("https", easyhttps);
    }

    Status.print("WebDav Connection generated");
}

From source file:xtremweb.communications.HTTPClient.java

/**
 * This does nothing; everything is done in write()
 *
 * @throws IOException/* w w w  . j  a  va 2 s . c  om*/
 * @see #write(XMLRPCCommand)
 */
@Override
protected void open(URI uri) throws UnknownHostException, NoRouteToHostException, SSLHandshakeException,
        SocketTimeoutException, IOException {

    try {
        String serverName = XWTools.getHostName(uri.getHost());
        int serverPort = uri.getPort();

        httpClient = new HttpClient(new MultiThreadedHttpConnectionManager());

        Protocol xwssl = null;
        final XWConfigurator config = getConfig();

        final KeyStore keyStore = config.getKeyStore();

        if (keyStore != null) {
            if (serverPort == -1) {
                serverPort = config.getPort(Connection.HTTPSPORT);
            }
            xwssl = new Protocol(uri.getScheme(), new AuthSSLProtocolSocketFactory(uri.getScheme(), keyStore,
                    config.getProperty(XWPropertyDefs.SSLKEYPASSWORD)), serverPort);
            Protocol.registerProtocol(uri.getScheme(), xwssl);
        } else {
            getLogger().warn("unsecured communications : not using SSL");
            if (serverPort == -1) {
                serverPort = config.getPort(Connection.HTTPPORT);
            }
        }

        final String proxyName = config.getProperty(XWPropertyDefs.PROXYSERVER);
        if ((proxyName != null) && (proxyName.trim().length() > 0)) {
            serverName = XWTools.getHostName(proxyName);
        }

        final String porttxt = config.getProperty(XWPropertyDefs.PROXYPORT);
        if ((porttxt != null) && (porttxt.trim().length() > 0)) {
            final int proxyPort = config.getPort(Connection.PROXYPORT);
            if (proxyPort > 0) {
                serverPort = proxyPort;
            }
        }

        URI uri2 = null;
        try {
            final StringBuilder struri2 = new StringBuilder(
                    uri.getScheme() + Connection.getSchemeSeparator() + serverName);
            if (serverPort > 0) {
                struri2.append(":" + serverPort);
            }
            if (uri.getPath() != null) {
                struri2.append("/" + uri.getPath());
            }
            uri2 = new URI(struri2.toString());
        } catch (final Exception e) {
            uri2 = uri;
        }
        uri = uri2;
        uri2 = null;

        mileStone("<open uri=\"" + uri + "\">");
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
        final HostConfiguration hConfig = new HostConfiguration();
        if (xwssl == null) {
            hConfig.setHost(serverName, serverPort);
        } else {
            hConfig.setHost(serverName, serverPort, xwssl);
        }
        httpClient.setHostConfiguration(hConfig);

        nio = false;

        if (config.getBoolean(XWPropertyDefs.OPTIMIZENETWORK) && (OSEnum.getOs().isMacosx() == false)) {
            final HttpConnectionManagerParams params = httpClient.getHttpConnectionManager().getParams();
            params.setLinger(0); // don't wait on close
            params.setTcpNoDelay(true); // don't wait to send
        }

        final HttpConnection connection = httpClient.getHttpConnectionManager()
                .getConnection(httpClient.getHostConfiguration());

        connection.open();
    } catch (final Exception e) {
        getLogger().exception(e);
        mileStone("<error method='open' msg='" + e.getMessage() + "' />");
        throw new IOException("HTTPClient : open failed " + e.toString());
    } finally {
        mileStone("</open>");
    }
}