本文整理匯總了Java中org.apache.http.impl.nio.client.HttpAsyncClientBuilder.setDefaultRequestConfig方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpAsyncClientBuilder.setDefaultRequestConfig方法的具體用法?Java HttpAsyncClientBuilder.setDefaultRequestConfig怎麽用?Java HttpAsyncClientBuilder.setDefaultRequestConfig使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.http.impl.nio.client.HttpAsyncClientBuilder
的用法示例。
在下文中一共展示了HttpAsyncClientBuilder.setDefaultRequestConfig方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: createCloseableHttpAsyncClient
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
private CloseableHttpAsyncClient createCloseableHttpAsyncClient() throws Exception {
HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create();
builder.useSystemProperties();
builder.setSSLContext(SSLContext.getDefault());
builder.setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE);
builder.setMaxConnPerRoute(2);
builder.setMaxConnTotal(2);
builder.setDefaultRequestConfig(RequestConfig
.custom()
.setConnectionRequestTimeout(1000)
.setConnectTimeout(2000)
.setSocketTimeout(2000)
.build()
);
// builder.setHttpProcessor()
CloseableHttpAsyncClient hc = builder.build();
hc.start();
return hc;
}
示例2: createHttpClient
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
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);
}
final HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom();
final RequestConfig requestConfig = requestConfigBuilder.build();
clientBuilder.setDefaultRequestConfig(requestConfig);
if (this.mProxyHost != null && !StringUtils.isEmpty(this.mProxyUsername)) {
final AuthScope authScope = new AuthScope(this.mProxyHost);
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
final Credentials credentials = new UsernamePasswordCredentials(this.mProxyUsername, this.mProxyPassword);
credentialsProvider.setCredentials(authScope, credentials);
clientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
return clientBuilder.build();
}
示例3: createHttpAsyncClient
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
public CloseableHttpAsyncClient createHttpAsyncClient(
ClientConfiguration config, PoolingNHttpClientConnectionManager cm) {
HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClients.custom();
httpClientBuilder.setConnectionManager(cm);
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(config.getConnectionTimeoutInMillisecond())
.setSocketTimeout(config.getSocketTimeoutInMillisecond()).build();
httpClientBuilder.setDefaultRequestConfig(requestConfig);
httpClientBuilder.setUserAgent(config.getUserAgent());
httpClientBuilder.disableCookieManagement();
String proxyHost = config.getProxyHost();
int proxyPort = config.getProxyPort();
if (proxyHost != null) {
if (proxyPort <= 0) {
throw new ClientException("The proxy port is invalid. Please check your configuration.");
}
HttpHost proxy = new HttpHost(proxyHost, proxyPort);
httpClientBuilder.setProxy(proxy);
String proxyUsername = config.getProxyUsername();
String proxyPassword = config.getProxyPassword();
if (proxyUsername != null && proxyPassword != null) {
String proxyDomain = config.getProxyDomain();
String proxyWorkstation = config.getProxyWorkstation();
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(proxyHost, proxyPort), new NTCredentials(
proxyUsername, proxyPassword, proxyWorkstation,
proxyDomain));
httpClientBuilder.setDefaultCredentialsProvider(credsProvider);
}
}
return httpClientBuilder.build();
}
示例4: build
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
/**
* Builds the RestClient.
*
* @return
*/
public RestClient build() {
AsyncRestClient client = new AsyncRestClient();
client.setUriPrefix(uriPrefix);
HttpAsyncClientBuilder builder = HttpAsyncClients.custom();
if (requestConfig != null) {
builder.setDefaultRequestConfig(requestConfig);
}
if (userAgentName != null) {
builder.setUserAgent(userAgentName);
}
if (sslContext != null) {
builder.setSSLContext(sslContext);
}
if (connectionReuseStrategy != null) {
builder.setConnectionReuseStrategy(connectionReuseStrategy);
}
if (defaultHeaders != null) {
builder.setDefaultHeaders(Arrays.asList(defaultHeaders));
}
CloseableHttpAsyncClient httpClient = builder.build();
httpClient.start();
client.setHttpClient(httpClient, false);
client.setSerDe(serDe);
return client;
}
示例5: createHttpAsyncClient
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
/**
* Factory method for Apache HttpAsyncClient
*
* @return
*/
protected CloseableHttpAsyncClient createHttpAsyncClient() {
log.info("Creating HttpAsyncClient");
HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom();
clientBuilder.setSSLStrategy(createSSLIOSessionStrategy());
/*
* defaultMaxPerRoute and maxTotal will be overridden by connection manager
* if it is set.
*/
ConnectionSettings connSettings = createConnectionSettings();
clientBuilder.setConnectionManagerShared(connSettings.shared);
clientBuilder.setMaxConnPerRoute(connSettings.defaultMaxPerRoute);
clientBuilder.setMaxConnTotal(connSettings.maxTotal);
NHttpClientConnectionManager connectionManager = createConnectionManager();
if(connectionManager != null){
log.info("Connection manager is set");
clientBuilder.setConnectionManager(connectionManager);
}
HttpHost proxy = detectHttpProxy();
if (proxy != null) {
clientBuilder.setProxy(proxy);
CredentialsProvider credsProvider = createDefaultCredentialsProvider(
proxy.getHostName(), proxy.getPort());
if (credsProvider != null) {
clientBuilder.setDefaultCredentialsProvider(credsProvider);
}
}
String userAgent = getUserAgent();
log.debug("User-Agent: {}", userAgent);
clientBuilder.setUserAgent(userAgent);
clientBuilder.setDefaultRequestConfig(createDefaultRequestConfig());
return clientBuilder.build();
}
示例6: createPoolingHttpClient
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; //導入方法依賴的package包/類
private static CloseableHttpAsyncClient createPoolingHttpClient(HiTSDBConfig config,PoolingNHttpClientConnectionManager cm,SemaphoreManager semaphoreManager) throws HttpClientInitException {
int httpConnectionPool = config.getHttpConnectionPool();
int httpConnectionLiveTime = config.getHttpConnectionLiveTime();
int httpKeepaliveTime = config.getHttpKeepaliveTime();
RequestConfig requestConfig = initRequestConfig(config);
if (httpConnectionPool > 0) {
cm.setMaxTotal(httpConnectionPool);
cm.setDefaultMaxPerRoute(httpConnectionPool);
cm.closeExpiredConnections();
}
HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom();
// 設置連接管理器
httpAsyncClientBuilder.setConnectionManager(cm);
// 設置RequestConfig
if (requestConfig != null) {
httpAsyncClientBuilder.setDefaultRequestConfig(requestConfig);
}
// 設置Keepalive
if (httpKeepaliveTime > 0) {
HiTSDBConnectionKeepAliveStrategy hiTSDBConnectionKeepAliveStrategy = new HiTSDBConnectionKeepAliveStrategy(httpConnectionLiveTime);
httpAsyncClientBuilder.setKeepAliveStrategy(hiTSDBConnectionKeepAliveStrategy);
} else if (httpKeepaliveTime == 0) {
HiTSDBConnectionReuseStrategy hiTSDBConnectionReuseStrategy = new HiTSDBConnectionReuseStrategy();
httpAsyncClientBuilder.setConnectionReuseStrategy(hiTSDBConnectionReuseStrategy);
}
// 設置連接自動關閉
if(httpConnectionLiveTime > 0) {
HiTSDBHttpAsyncCallbackExecutor httpAsyncCallbackExecutor = new HiTSDBHttpAsyncCallbackExecutor(httpConnectionLiveTime);
httpAsyncClientBuilder.setEventHandler(httpAsyncCallbackExecutor);
}
// 啟動定時調度
initFixedCycleCloseConnection(cm);
CloseableHttpAsyncClient client = httpAsyncClientBuilder.build();
return client;
}