package org.meaningfulweb.util.http; public class HttpClientFactory { private final static HttpComponentsServiceImpl _httpClientSvc = new HttpComponentsServiceImpl(); static{ _httpClientSvc.initialize(); String userAgent = "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.10) Gecko/20100915 Ubuntu/10.04 (lucid) Firefox/3.6.10 GTB7.1"; int totalConns = 3000; int connPerHost = 3000; int connTimeoutSecs = 5; int sockTimeoutSecs = 10; boolean tcpNoDelay = true; int sockLingerSec = 0; int idelConnTimeoutSecs = 20; int cullInterval= 5000; _httpClientSvc.setUserAgent(userAgent); _httpClientSvc.setConnectionsTotal(totalConns); _httpClientSvc.setConnectionsPerHost(connPerHost); _httpClientSvc.setConnectionTimeoutInSeconds(connTimeoutSecs); _httpClientSvc.setSocketTimeoutInSeconds(sockTimeoutSecs); _httpClientSvc.setTcpNoDelay(tcpNoDelay); _httpClientSvc.setSoLingerInSeconds(sockLingerSec); _httpClientSvc.setIdleConnectionTimeoutInSeconds(idelConnTimeoutSecs); _httpClientSvc.setCullInterval(cullInterval); Runtime.getRuntime().addShutdownHook(new Thread(){ public void run(){ _httpClientSvc.shutdown(); } }); } private HttpClientFactory(){ } public static HttpClientService getHttpClientService(){ return _httpClientSvc; } }