本文整理匯總了Java中org.apache.http.impl.nio.client.HttpAsyncClientBuilder.setConnectionReuseStrategy方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpAsyncClientBuilder.setConnectionReuseStrategy方法的具體用法?Java HttpAsyncClientBuilder.setConnectionReuseStrategy怎麽用?Java HttpAsyncClientBuilder.setConnectionReuseStrategy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.http.impl.nio.client.HttpAsyncClientBuilder
的用法示例。
在下文中一共展示了HttpAsyncClientBuilder.setConnectionReuseStrategy方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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: 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;
}
示例3: 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;
}