package utils.http; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; /** * HttpClientæ± çå®ä½ç±» * æ¯å¯¹Apacheçorg.apache.http.impl.conn.PoolingHttpClientConnectionManagerç±»çå°è£ * * Created by littlelory on 02/11/2017. */ public class HttpClientManager { private static final Log log = LogFactory.getLog(HttpClientManager.class); private final PoolingHttpClientConnectionManager connectionManager; private static HttpClientManager instance; private HttpClientManager(PoolingHttpClientConnectionManager manager) { this.connectionManager = manager; } /** * åå§å * * @param maxTotal æ¤manager䏿æRouterçæå¤§åæ¶è¿æ¥æ° * @param maxPerRount æ¯ä¸ªRouteçåæ¶æå¤§è¿æ¥æ° */ public static void init(int maxTotal, int maxPerRount) { log.info("[http manager][init] maxTotal = ["+maxTotal+"], maxPerRount = ["+maxPerRount+"]."); PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager(); // MAX_TOTAL_CONNECT = maxTotal; // MAX_PER_ROUTE_COUNT = maxPerRount; poolingHttpClientConnectionManager.setMaxTotal(maxTotal); poolingHttpClientConnectionManager.setDefaultMaxPerRoute(maxPerRount); // HttpClientManager manager = new HttpClientManager(poolingHttpClientConnectionManager); instance = new HttpClientManager(poolingHttpClientConnectionManager); log.info("[http manager][init] init success."); } //è·åHttpClientManagerçå®ä¾ public static HttpClientManager instance() { return instance; } //è·åå°è£ çPoolingHttpClientConnectionManagerå®ä¾ PoolingHttpClientConnectionManager getConnectionManager() { return connectionManager; } }