private static class ProxyCustomApacheHttpClientConfig extends DefaultApacheHttpClient4Config {
public ProxyCustomApacheHttpClientConfig(String clientName, int maxConnectionsPerHost, int maxTotalConnections,
String proxyHost, String proxyPort, String proxyUserName, String proxyPassword)
throws Throwable {
MonitoredConnectionManager cm = new MonitoredConnectionManager(clientName);
cm.setDefaultMaxPerRoute(maxConnectionsPerHost);
cm.setMaxTotal(maxTotalConnections);
getProperties().put(ApacheHttpClient4Config.PROPERTY_CONNECTION_MANAGER, cm);
if (proxyUserName != null && proxyPassword != null) {
getProperties().put(ApacheHttpClient4Config.PROPERTY_PROXY_USERNAME, proxyUserName);
getProperties().put(ApacheHttpClient4Config.PROPERTY_PROXY_PASSWORD, proxyPassword);