public ApacheHttpAsyncClient(HttpAsyncClientBuilder builder, Config config, SharedResourcesBroker<GobblinScopeTypes> broker) { super (broker, HttpUtils.createApacheHttpClientLimiterKey(config)); config = config.withFallback(FALLBACK); RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT) .setSocketTimeout(config.getInt(REQUEST_TIME_OUT_MS_KEY)) .setConnectTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .setConnectionRequestTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .build(); try { builder.disableCookieManagement().useSystemProperties().setDefaultRequestConfig(requestConfig); builder.setConnectionManager(getNHttpConnManager(config)); client = builder.build(); client.start(); } catch (IOException e) { throw new RuntimeException("ApacheHttpAsyncClient cannot be initialized"); } }
CloseableHttpAsyncClient asyncClient = HttpAsyncClientBuilder.create().setDefaultRequestConfig(clientConfig).setConnectionManager(asyncConnectionManager).build(); setOption(Option.ASYNCHTTPCLIENT, asyncClient); setOption(Option.ASYNC_MONITOR, new AsyncIdleConnectionMonitorThread(asyncConnectionManager));
private CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return configureHttpClient( HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) ).build(); }
@Bean public CloseableHttpAsyncClient asyncHttpClient(PoolingNHttpClientConnectionManager poolingNHttpClientConnectionManager) { RequestConfig config = RequestConfig.custom() .setConnectTimeout(requestTimeout) .setSocketTimeout(requestTimeout) .setConnectionRequestTimeout(requestTimeout) .build(); return HttpAsyncClientBuilder .create().setConnectionManager(poolingNHttpClientConnectionManager) .setDefaultRequestConfig(config).build(); }
@Bean public CloseableHttpAsyncClient asyncHttpClient(PoolingNHttpClientConnectionManager poolingNHttpClientConnectionManager) { RequestConfig config = RequestConfig.custom() .setConnectTimeout(requestTimeout) .setSocketTimeout(requestTimeout) .setConnectionRequestTimeout(requestTimeout) .build(); return HttpAsyncClientBuilder .create().setConnectionManager(poolingNHttpClientConnectionManager) .setDefaultRequestConfig(config).build(); }
public ApacheHttpAsyncClient(HttpAsyncClientBuilder builder, Config config, SharedResourcesBroker<GobblinScopeTypes> broker) { super (broker, HttpUtils.createApacheHttpClientLimiterKey(config)); config = config.withFallback(FALLBACK); RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT) .setSocketTimeout(config.getInt(REQUEST_TIME_OUT_MS_KEY)) .setConnectTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .setConnectionRequestTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .build(); try { builder.disableCookieManagement().useSystemProperties().setDefaultRequestConfig(requestConfig); builder.setConnectionManager(getNHttpConnManager(config)); client = builder.build(); client.start(); } catch (IOException e) { throw new RuntimeException("ApacheHttpAsyncClient cannot be initialized"); } }
@Bean public AsyncClientHttpRequestFactory asyncClientHttpRequestFactory( NHttpClientConnectionManager clientConnectionManager, @Value("${http.client.maxConnTotal:1024}") int maxConnTotal, @Value("${http.client.maxConnPerRoute:1024}") int maxConnPerRoute) throws InterruptedException { CloseableHttpAsyncClient client = HttpAsyncClientBuilder.create() // Some backends will return a cookie and prefer it to the Authorization header. // This is very bad when we re-use a connection for different users! .disableCookieManagement() .setMaxConnTotal(maxConnTotal) .setMaxConnPerRoute(maxConnPerRoute) .setConnectionManager(clientConnectionManager) .build(); return new HttpComponentsAsyncClientHttpRequestFactory(client); }
private CloseableHttpAsyncClient createAsyncClient(RequestConfig clientConfig, PoolingNHttpClientConnectionManager manager) { HttpAsyncClientBuilder asyncBuilder = HttpAsyncClientBuilder.create() .setDefaultRequestConfig(clientConfig) .setDefaultCookieStore(cookieStore) .setSSLContext(sslContext) .setConnectionManager(manager); return addInterceptors(asyncBuilder).build(); }
/** * Get HTTPClient properly configured with tenant configurations. * * @param tenantDomain tenant domain of the service provider. * @return HttpClient */ public CloseableHttpAsyncClient getClient(String tenantDomain) throws FrameworkException { int tenantId = IdentityTenantUtil.getTenantId(tenantDomain); CloseableHttpAsyncClient client = clientMap.get(tenantId); if (client == null) { PoolingNHttpClientConnectionManager poolingHttpClientConnectionManager = createPoolingConnectionManager(); RequestConfig config = createRequestConfig(tenantDomain); HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClients.custom().setDefaultRequestConfig(config); addSslContext(httpClientBuilder, tenantDomain); httpClientBuilder.setConnectionManager(poolingHttpClientConnectionManager); client = httpClientBuilder.build(); client.start(); clientMap.put(tenantId, client); } return client; }
public static CloseableHttpAsyncClient create(RequestConfig config, NHttpClientConnectionManager connectionManager) { HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create(); builder.useSystemProperties().setRedirectStrategy(AlwaysRedirectStrategy.DEFAULT).addInterceptorLast(new RequestContent(true)); if (config != null) builder.setDefaultRequestConfig(config); if (connectionManager != null) builder.setConnectionManager(connectionManager); return builder.build(); }
static CloseableHttpAsyncClient create(RequestConfig config, NHttpClientConnectionManager connectionManager) { HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create(); builder.useSystemProperties().setRedirectStrategy(AlwaysRedirectStrategy.DEFAULT) .addInterceptorLast(new RequestContent(true)); if (config != null) builder.setDefaultRequestConfig(config); if (connectionManager != null) builder.setConnectionManager(connectionManager); return builder.build(); }
@Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { try { int connCount = Integer.parseInt(config.getValue(Property.ELASTICSEARCH_CONNECTION_COUNT.getName(), Property.ELASTICSEARCH_CONNECTION_COUNT.getDefaultValue())); PoolingNHttpClientConnectionManager connMgr = new PoolingNHttpClientConnectionManager(new DefaultConnectingIOReactor()); connMgr.setMaxTotal(connCount); connMgr.setDefaultMaxPerRoute(connCount / httpHosts.length); httpClientBuilder.setConnectionManager(connMgr); return httpClientBuilder; } catch(Exception e) { throw new SystemException(e); } } };
@Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { try { int connCount = Integer.parseInt(config.getValue(Property.ELASTICSEARCH_CONNECTION_COUNT.getName(), Property.ELASTICSEARCH_CONNECTION_COUNT.getDefaultValue())); PoolingNHttpClientConnectionManager connMgr = new PoolingNHttpClientConnectionManager(new DefaultConnectingIOReactor()); connMgr.setMaxTotal(connCount); connMgr.setDefaultMaxPerRoute(connCount / httpHosts.length); httpClientBuilder.setConnectionManager(connMgr); return httpClientBuilder; } catch(Exception e) { throw new SystemException(e); } } };
public FiberApacheHttpClientRequestExecutor(final Validator<CloseableHttpResponse> resValidator, final int maxConnections, final int timeout, final int parallelism) throws IOReactorException { final DefaultConnectingIOReactor ioreactor = new DefaultConnectingIOReactor(IOReactorConfig.custom(). setConnectTimeout(timeout). setIoThreadCount(parallelism). setSoTimeout(timeout). build()); final PoolingNHttpClientConnectionManager mngr = new PoolingNHttpClientConnectionManager(ioreactor); mngr.setDefaultMaxPerRoute(maxConnections); mngr.setMaxTotal(maxConnections); final CloseableHttpAsyncClient ahc = HttpAsyncClientBuilder.create(). setConnectionManager(mngr). setDefaultRequestConfig(RequestConfig.custom().setLocalAddress(null).build()).build(); client = new FiberHttpClient(ahc); validator = resValidator; }
/** * Create asynchronous http client based on connection manager. * * @param connectionManager Asynchronous http client connection manager. * @return Asynchronous http client based on connection manager. */ protected CloseableHttpAsyncClient createHttpAsyncClient(NHttpClientConnectionManager connectionManager) { HttpAsyncClientBuilder builder = HttpAsyncClients.custom().setConnectionManager(connectionManager); int socketBufferSizeInBytes = this.config.getSocketBufferSizeInBytes(); if (socketBufferSizeInBytes > 0) { builder.setDefaultConnectionConfig( ConnectionConfig.custom().setBufferSize(socketBufferSizeInBytes).build()); } return builder.build(); }
protected CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) .build(); }
/** * Builds the {@link HttpClient}. * * @return an {@link HttpClient} */ public HttpClient build(String name) { RequestConfig createHttpParams = createHttpParams(); final NHttpClientConnectionManager manager = createConnectionManager(registry, name); HttpAsyncClientBuilder clientBuilder = new InstrumentedNHttpClientBuilder(metricRegistry, name); clientBuilder.setConnectionManager(manager); clientBuilder.setDefaultRequestConfig(createHttpParams); setStrategiesForClient(clientBuilder); CloseableHttpAsyncClient client = clientBuilder.build(); client.start(); return new FiberHttpClient(client, getRetryHandler()); }
private CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return configureHttpClient( HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) ).build(); }
private CloseableHttpAsyncClient createHttpAsyncClient(YunpianConf conf) throws IOReactorException { IOReactorConfig ioReactorConfig = IOReactorConfig.custom().setIoThreadCount(Runtime.getRuntime().availableProcessors()) .setConnectTimeout(conf.getConfInt(YunpianConf.HTTP_CONN_TIMEOUT, "10000")) .setSoTimeout(conf.getConfInt(YunpianConf.HTTP_SO_TIMEOUT, "30000")).build(); ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig); PoolingNHttpClientConnectionManager connManager = new PoolingNHttpClientConnectionManager(ioReactor); ConnectionConfig connectionConfig = ConnectionConfig.custom().setMalformedInputAction(CodingErrorAction.IGNORE) .setUnmappableInputAction(CodingErrorAction.IGNORE) .setCharset(Charset.forName(conf.getConf(YunpianConf.HTTP_CHARSET, YunpianConf.HTTP_CHARSET_DEFAULT))).build(); connManager.setDefaultConnectionConfig(connectionConfig); connManager.setMaxTotal(conf.getConfInt(YunpianConf.HTTP_CONN_MAXTOTAL, "100")); connManager.setDefaultMaxPerRoute(conf.getConfInt(YunpianConf.HTTP_CONN_MAXPERROUTE, "10")); CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom().setConnectionManager(connManager).build(); httpclient.start(); return httpclient; }
/** * Creates an instance of async http client. */ private HttpAsyncClient buildHttpAsyncClient() throws IOReactorException { // Create I/O reactor configuration IOReactorConfig ioReactorConfig = IOReactorConfig.custom() .setConnectTimeout(connectTimeout) .setSoTimeout(socketTimeout) .build(); // Create a custom I/O reactor ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig); // Create a connection manager with simple configuration. PoolingNHttpClientConnectionManager connManager = new PoolingNHttpClientConnectionManager(ioReactor); // Configure total max or per route limits for persistent connections // that can be kept in the pool or leased by the connection manager. connManager.setMaxTotal(maxTotal); connManager.setDefaultMaxPerRoute(defaultMaxPerRoute); return httpAsyncClient = HttpAsyncClients.custom() .useSystemProperties() .setConnectionManager(connManager) .build(); }