List of usage examples for org.apache.http.impl.nio.client HttpAsyncClientBuilder build
public CloseableHttpAsyncClient build()
From source file:com.baidubce.http.BceHttpClient.java
/** * Create asynchronous http client based on connection manager. * * @param connectionManager Asynchronous http client connection manager. * @return Asynchronous http client based on connection manager. *///from w w w .j av a 2 s. c o m 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(); }
From source file:org.jenkinsci.plugins.relution_publisher.net.RequestManager.java
private CloseableHttpAsyncClient createHttpClient() { final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); requestConfigBuilder.setConnectionRequestTimeout(TIMEOUT_CONNECTION_REQUEST); requestConfigBuilder.setConnectTimeout(TIMEOUT_CONNECT); requestConfigBuilder.setSocketTimeout(TIMEOUT_SOCKET); if (this.mProxyHost != null) { requestConfigBuilder.setProxy(this.mProxyHost); }/*from w w w . java 2s. c om*/ final HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom(); final RequestConfig requestConfig = requestConfigBuilder.build(); clientBuilder.setDefaultRequestConfig(requestConfig); if (this.mProxyHost != null && this.mCredentials != null) { final AuthScope authScope = new AuthScope(this.mProxyHost); final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(authScope, this.mCredentials); clientBuilder.setDefaultCredentialsProvider(credentialsProvider); } return clientBuilder.build(); }
From source file:org.apache.cxf.transport.http.asyncclient.AsyncHTTPConduitFactory.java
public synchronized void setupNIOClient(HTTPClientPolicy clientPolicy) throws IOReactorException { if (client != null) { return;/*from ww w . ja va2s. c o m*/ } IOReactorConfig config = IOReactorConfig.custom().setIoThreadCount(ioThreadCount) .setSelectInterval(selectInterval).setInterestOpQueued(interestOpQueued).setSoLinger(soLinger) .setSoTimeout(soTimeout).setSoKeepAlive(soKeepalive).setTcpNoDelay(tcpNoDelay).build(); Registry<SchemeIOSessionStrategy> ioSessionFactoryRegistry = RegistryBuilder .<SchemeIOSessionStrategy>create().register("http", NoopIOSessionStrategy.INSTANCE) .register("https", SSLIOSessionStrategy.getSystemDefaultStrategy()).build(); ManagedNHttpClientConnectionFactory connectionFactory = new ManagedNHttpClientConnectionFactory() { @Override public ManagedNHttpClientConnection create(final IOSession iosession, final ConnectionConfig config) { ManagedNHttpClientConnection conn = super.create(iosession, config); return conn; } }; DefaultConnectingIOReactor ioreactor = new DefaultConnectingIOReactor(config); connectionManager = new PoolingNHttpClientConnectionManager(ioreactor, connectionFactory, ioSessionFactoryRegistry, DefaultSchemePortResolver.INSTANCE, SystemDefaultDnsResolver.INSTANCE, connectionTTL, TimeUnit.MILLISECONDS); connectionManager.setDefaultMaxPerRoute(maxPerRoute); connectionManager.setMaxTotal(maxConnections); ConnectionConfig connectionConfig = ConnectionConfig.custom() .setBufferSize(clientPolicy.getChunkLength() > 0 ? clientPolicy.getChunkLength() : 16332).build(); connectionManager.setDefaultConnectionConfig(connectionConfig); RedirectStrategy redirectStrategy = new RedirectStrategy() { public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException { return false; } public HttpUriRequest getRedirect(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException { return null; } }; HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom() .setConnectionManager(connectionManager).setRedirectStrategy(redirectStrategy) .setDefaultCookieStore(new BasicCookieStore() { private static final long serialVersionUID = 1L; public void addCookie(Cookie cookie) { } }); adaptClientBuilder(httpAsyncClientBuilder); client = httpAsyncClientBuilder.build(); // Start the client thread client.start(); if (this.connectionTTL == 0) { //if the connection does not have an expiry deadline //use the ConnectionMaxIdle to close the idle connection new CloseIdleConnectionThread(connectionManager, client).start(); } }
From source file:com.guardtime.ksi.service.client.http.apache.ApacheHttpClient.java
/** * Creates asynchronous Apache HTTP client. * * @param settings//from w w w . j av a 2s .c o m * - settings to use to create client * @param conf * - configuration related to async connection * @return instance of {@link CloseableHttpAsyncClient} */ private CloseableHttpAsyncClient createClient(AbstractHttpClientSettings settings, ApacheHttpClientConfiguration conf) { IOReactorConfig ioReactor = IOReactorConfig.custom().setIoThreadCount(conf.getMaxThreadCount()).build(); HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClients.custom().useSystemProperties() // allow POST redirects .setRedirectStrategy(new LaxRedirectStrategy()).setMaxConnTotal(conf.getMaxTotalConnectionCount()) .setMaxConnPerRoute(conf.getMaxRouteConnectionCount()).setDefaultIOReactorConfig(ioReactor) .setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) .setDefaultRequestConfig(createDefaultRequestConfig(settings)); if (settings.getProxyUrl() != null) { DefaultProxyRoutePlanner routePlanner = createProxyRoutePlanner(settings, httpClientBuilder); httpClientBuilder.setRoutePlanner(routePlanner); } CloseableHttpAsyncClient httpClient = httpClientBuilder.build(); httpClient.start(); return httpClient; }
From source file:org.apache.gobblin.http.ApacheHttpAsyncClient.java
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 {//from ww w .ja va 2 s . c om builder.disableCookieManagement().useSystemProperties().setDefaultRequestConfig(requestConfig); builder.setConnectionManager(getNHttpConnManager(config)); client = builder.build(); client.start(); } catch (IOException e) { throw new RuntimeException("ApacheHttpAsyncClient cannot be initialized"); } }
From source file:org.fuin.esc.eshttp.ESHttpEventStore.java
@Override public void open() { if (open) {/* w w w . ja v a2 s. c o m*/ // Ignore return; } final HttpAsyncClientBuilder builder = HttpAsyncClients.custom().setThreadFactory(threadFactory); if (credentialsProvider != null) { builder.setDefaultCredentialsProvider(credentialsProvider); } httpclient = builder.build(); httpclient.start(); this.open = true; }
From source file:ee.ria.xroad.proxy.testsuite.MessageTestCase.java
protected CloseableHttpAsyncClient getClient() throws Exception { HttpAsyncClientBuilder builder = HttpAsyncClients.custom(); IOReactorConfig ioReactorConfig = IOReactorConfig.custom() .setIoThreadCount(Runtime.getRuntime().availableProcessors()).setConnectTimeout(getClientTimeout()) .setSoTimeout(30000).build(); ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig); PoolingNHttpClientConnectionManager connManager = new PoolingNHttpClientConnectionManager(ioReactor); connManager.setMaxTotal(1);// w w w . jav a 2 s . c om connManager.setDefaultMaxPerRoute(1); builder.setConnectionManager(connManager); return builder.build(); }
From source file:org.apache.camel.component.olingo2.api.impl.Olingo2AppImpl.java
/** * Create Olingo2 Application with custom HTTP client builder. * * @param serviceUri Service Application base URI. * @param builder custom HTTP client builder. *//*from www .j a v a2s. c om*/ public Olingo2AppImpl(String serviceUri, HttpAsyncClientBuilder builder) { setServiceUri(serviceUri); if (builder == null) { this.client = HttpAsyncClients.createDefault(); } else { this.client = builder.build(); } this.client.start(); this.contentType = ContentType.create("application/json", Consts.UTF_8); }
From source file:com.cisco.oss.foundation.http.apache.ApacheHttpClient.java
@Override protected void configureClient() { RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(metadata.getConnectTimeout()); requestBuilder = requestBuilder.setSocketTimeout(metadata.getReadTimeout()); requestBuilder = requestBuilder.setStaleConnectionCheckEnabled(metadata.isStaleConnectionCheckEnabled()); RequestConfig requestConfig = requestBuilder.build(); boolean addSslSupport = StringUtils.isNotEmpty(metadata.getKeyStorePath()) && StringUtils.isNotEmpty(metadata.getKeyStorePassword()); boolean addTrustSupport = StringUtils.isNotEmpty(metadata.getTrustStorePath()) && StringUtils.isNotEmpty(metadata.getTrustStorePassword()); autoCloseable = metadata.isAutoCloseable(); HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); SSLContext sslContext = null; try {// ww w.j a va 2 s . c om String keystoreType = "JKS"; if (addSslSupport && addTrustSupport) { KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()) .loadTrustMaterial(trustStore, null).build(); } else if (addSslSupport) { TrustManagerFactory tmf = TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()); KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); tmf.init(keyStore); sslContext = SSLContexts.custom().useProtocol("SSL") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()).build(); sslContext.init(null, tmf.getTrustManagers(), null); SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier); httpClientBuilder.setSSLSocketFactory(sf); } else if (addTrustSupport) { KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS").loadTrustMaterial(trustStore, null).build(); } if (addSslSupport | addTrustSupport) { SSLContext.setDefault(sslContext); httpClientBuilder.setSslcontext(sslContext); } } catch (Exception e) { LOGGER.error("can't set TLS Support. Error is: {}", e, e); } httpClientBuilder.setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()).setDefaultRequestConfig(requestConfig) .evictExpiredConnections().evictIdleConnections(metadata.getIdleTimeout(), TimeUnit.MILLISECONDS) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())); HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom(); httpAsyncClientBuilder.setDefaultRequestConfig(requestConfig) .setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())) .setSSLContext(sslContext); if (metadata.isDisableCookies()) { httpClientBuilder.disableCookieManagement(); httpAsyncClientBuilder.disableCookieManagement(); } if (hostnameVerifier != null) { httpClientBuilder.setSSLHostnameVerifier(hostnameVerifier); httpAsyncClientBuilder.setSSLHostnameVerifier(hostnameVerifier); } if (!followRedirects) { httpClientBuilder.disableRedirectHandling(); } httpClient = httpClientBuilder.build(); httpAsyncClient = httpAsyncClientBuilder.build(); httpAsyncClient.start(); }
From source file:com.liferay.petra.json.web.service.client.BaseJSONWebServiceClientImpl.java
public void afterPropertiesSet() throws IOReactorException { HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom(); httpAsyncClientBuilder = httpAsyncClientBuilder.useSystemProperties(); NHttpClientConnectionManager nHttpClientConnectionManager = getPoolingNHttpClientConnectionManager(); httpAsyncClientBuilder.setConnectionManager(nHttpClientConnectionManager); httpAsyncClientBuilder.setDefaultCredentialsProvider(_getCredentialsProvider()); setProxyHost(httpAsyncClientBuilder); try {/*from w w w . ja v a 2 s.c o m*/ _closeableHttpAsyncClient = httpAsyncClientBuilder.build(); _closeableHttpAsyncClient.start(); _idleConnectionMonitorThread = new IdleConnectionMonitorThread(nHttpClientConnectionManager); _idleConnectionMonitorThread.start(); if (_logger.isDebugEnabled()) { StringBuilder sb = new StringBuilder(); sb.append("Configured client for "); sb.append(_protocol); sb.append("://"); sb.append(_hostName); sb.append(":"); sb.append(_hostPort); _logger.debug(sb.toString()); } } catch (Exception e) { _logger.error("Unable to configure client", e); } }