HttpClient

From Null-pointer

Jump to: navigation, search

Setting up the timeout params

private static final int DEFAULT_SECURE_PORT = 443;
    private static final int MAX_CONNECTION_PER_ROUTE = 20;
    private static final int TEN_SECONDS = 10 * 1000;
    private static final int TIME_OUT = TEN_SECONDS;
 
    private ClientExecutor getSSLClientExecutor(String baseUri) {
        URL url = null;
        try {
            url = new URL(baseUri);
        } catch (MalformedURLException rethrow) {
            throw new RuntimeException(rethrow);
        }
 
        int securePort = url.getPort();
 
        if (securePort < 0) {
            securePort = DEFAULT_SECURE_PORT;
        }
 
        SchemeRegistry schemeRegistry = new SchemeRegistry();
        Scheme scheme = httpsSchemeFactory.create(securePort);
        schemeRegistry.register(scheme);
        HttpParams httpParams = new BasicHttpParams();
 
        HttpConnectionParams.setConnectionTimeout(httpParams, TIME_OUT);
        HttpConnectionParams.setSoTimeout(httpParams, TIME_OUT);
        ConnManagerParams.setTimeout(httpParams, TIME_OUT);
        ConnManagerParams.setMaxConnectionsPerRoute(httpParams, new ConnPerRouteBean(MAX_CONNECTION_PER_ROUTE));
 
        ThreadSafeClientConnManager connManager = new ThreadSafeClientConnManager(httpParams, schemeRegistry);
        connManager.closeIdleConnections(5, TimeUnit.SECONDS);
 
 
        return new ApacheHttpClient4Executor(new DefaultHttpClient(connManager, httpParams));
    }
Personal tools