List of usage examples for org.apache.commons.httpclient MultiThreadedHttpConnectionManager MultiThreadedHttpConnectionManager
public MultiThreadedHttpConnectionManager()
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>"); } }