HttpClient
From Null-pointer
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)); }

