Java Code Examples for org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager#setMaxTotal()
The following examples show how to use
org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager#setMaxTotal() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ExtendedJestClientFactory.java From log4j2-elasticsearch with Apache License 2.0 | 6 votes |
@Override protected NHttpClientConnectionManager getAsyncConnectionManager() { PoolingNHttpClientConnectionManager connectionManager = createUnconfiguredPoolingNHttpClientConnectionManager(); HttpClientConfig httpClientConfig = this.wrappedHttpClientConfig.getHttpClientConfig(); final Integer maxTotal = httpClientConfig.getMaxTotalConnection(); if (maxTotal != null) { connectionManager.setMaxTotal(maxTotal); } final Integer defaultMaxPerRoute = httpClientConfig.getDefaultMaxTotalConnectionPerRoute(); if (defaultMaxPerRoute != null) { connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute); } final Map<HttpRoute, Integer> maxPerRoute = httpClientConfig.getMaxTotalConnectionPerRoute(); for (Map.Entry<HttpRoute, Integer> entry : maxPerRoute.entrySet()) { connectionManager.setMaxPerRoute(entry.getKey(), entry.getValue()); } return connectionManager; }
Example 2
Source File: YunpianClient.java From yunpian-java-sdk with MIT License | 6 votes |
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; }
Example 3
Source File: FiberApacheHttpClientRequestExecutor.java From jbender with Apache License 2.0 | 6 votes |
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; }
Example 4
Source File: ApacheHttpAsyncClient.java From incubator-gobblin with Apache License 2.0 | 6 votes |
private NHttpClientConnectionManager getNHttpConnManager(Config config) throws IOException { NHttpClientConnectionManager httpConnManager; String connMgrStr = config.getString(HTTP_CONN_MANAGER); switch (ApacheHttpClient.ConnManager.valueOf(connMgrStr.toUpperCase())) { case POOLING: ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(); PoolingNHttpClientConnectionManager poolingConnMgr = new PoolingNHttpClientConnectionManager(ioReactor); poolingConnMgr.setMaxTotal(config.getInt(POOLING_CONN_MANAGER_MAX_TOTAL_CONN)); poolingConnMgr.setDefaultMaxPerRoute(config.getInt(POOLING_CONN_MANAGER_MAX_PER_CONN)); httpConnManager = poolingConnMgr; break; default: throw new IllegalArgumentException(connMgrStr + " is not supported"); } LOG.info("Using " + httpConnManager.getClass().getSimpleName()); return httpConnManager; }
Example 5
Source File: RestClient.java From light with Apache License 2.0 | 6 votes |
private CloseableHttpAsyncClient asyncHttpClient() throws Exception { PoolingNHttpClientConnectionManager connectionManager = new PoolingNHttpClientConnectionManager( ioReactor(), asyncRegistry()); Map<String, Object> asyncHttpClientMap = (Map<String, Object>)configMap.get(ASYNC_REST_TEMPLATE); connectionManager.setMaxTotal((Integer)asyncHttpClientMap.get(MAX_CONNECTION_TOTAL)); connectionManager.setDefaultMaxPerRoute((Integer) asyncHttpClientMap.get(MAX_CONNECTION_PER_ROUTE)); // Now handle all the specific route defined. Map<String, Object> routeMap = (Map<String, Object>)asyncHttpClientMap.get(ROUTES); Iterator<String> it = routeMap.keySet().iterator(); while (it.hasNext()) { String route = it.next(); Integer maxConnection = (Integer)routeMap.get(route); connectionManager.setMaxPerRoute(new HttpRoute(new HttpHost( route)), maxConnection); } RequestConfig config = RequestConfig.custom() .setConnectTimeout((Integer) asyncHttpClientMap.get(TIMEOUT_MILLISECONDS)) .build(); return HttpAsyncClientBuilder .create() .setConnectionManager(connectionManager) .setDefaultRequestConfig(config) .build(); }
Example 6
Source File: HttpClientFactory.java From super-cloudops with Apache License 2.0 | 5 votes |
/*** * 创建client * * @param config * 查询对象 * @param cm * 连接池管理 * @param openTSDBConfig * @return */ private static CloseableHttpAsyncClient createPoolingHttpClient(RequestConfig config, PoolingNHttpClientConnectionManager cm, OpenTSDBConfig openTSDBConfig) { cm.setMaxTotal(100); cm.setDefaultMaxPerRoute(100); HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom().setConnectionManager(cm) .setDefaultRequestConfig(config); // 如果不是只读,则设置为长连接 if (!openTSDBConfig.isReadonly()) { httpAsyncClientBuilder.setKeepAliveStrategy(myStrategy()); } CloseableHttpAsyncClient client = httpAsyncClientBuilder.build(); return client; }
Example 7
Source File: AsyncInternalClient.java From fc-java-sdk with MIT License | 5 votes |
public AsyncInternalClient(Config config){ this.config = config; try { IOReactorConfig ioReactorConfig = IOReactorConfig.custom().build(); ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig); PoolingNHttpClientConnectionManager cm = new PoolingNHttpClientConnectionManager(ioReactor); cm.setMaxTotal(config.getMaxConnectCount()); cm.setDefaultMaxPerRoute(config.getMaxPerRoute()); httpClient = createHttpAsyncClient(config, cm); httpClient.start(); } catch (IOReactorException e) { throw new ClientException(e); } }
Example 8
Source File: WxMpTemplateMsgSender.java From WePush with MIT License | 5 votes |
public static CloseableHttpAsyncClient getCloseableHttpAsyncClient() throws IOReactorException { if (closeableHttpAsyncClient == null) { synchronized (WxMpTemplateMsgSender.class) { if (closeableHttpAsyncClient == null) { RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(-1) .setSocketTimeout(-1) .setConnectionRequestTimeout(-1) .build(); //配置io线程 IOReactorConfig ioReactorConfig = IOReactorConfig.custom(). setIoThreadCount(Runtime.getRuntime().availableProcessors()) .setSoKeepAlive(true).setConnectTimeout(-1).setSoTimeout(-1) .build(); //设置连接池大小 ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig); PoolingNHttpClientConnectionManager connManager = new PoolingNHttpClientConnectionManager(ioReactor); //最大连接数 connManager.setMaxTotal(5000); //per route最大连接数 connManager.setDefaultMaxPerRoute(5000); closeableHttpAsyncClient = HttpAsyncClients.custom(). setConnectionManager(connManager) .setDefaultRequestConfig(requestConfig) .build(); closeableHttpAsyncClient.start(); } } } return closeableHttpAsyncClient; }
Example 9
Source File: AsyncServiceClient.java From aliyun-tablestore-java-sdk with Apache License 2.0 | 5 votes |
public AsyncServiceClient(ClientConfiguration config) { try { IOReactorConfig ioReactorConfig = IOReactorConfig.custom() .setIoThreadCount(config.getIoThreadCount()).build(); ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor( ioReactorConfig); PoolingNHttpClientConnectionManager cm = new PoolingNHttpClientConnectionManager(ioReactor); cm.setMaxTotal(config.getMaxConnections()); cm.setDefaultMaxPerRoute(config.getMaxConnections()); httpClient = HttpFactory.createHttpAsyncClient(config, cm); /* * socketTimeout的值限制了closeIdleConnections执行的周期。 * 如果周期相对socketTimeout的值过长,有可能一个请求分配到一个即将socketTimeout的连接, * 在请求发送之前即抛出SocketTimeoutException。 * 现在让closeIdleConnections的执行周期为socketTimeout / 2.5。 */ long closePeriod = 5000; if (config.getSocketTimeoutInMillisecond() > 0) { closePeriod = (long) (config.getSocketTimeoutInMillisecond() / 2.5); } closePeriod = closePeriod < 5000 ? closePeriod : 5000; connEvictor = new IdleConnectionEvictor(cm, closePeriod); httpClient.start(); connEvictor.start(); } catch (IOReactorException ex) { throw new ClientException(String.format("IOReactorError: %s", ex.getMessage()), ex); } }
Example 10
Source File: BceHttpClient.java From bce-sdk-java with Apache License 2.0 | 5 votes |
/** * Create connection manager for asynchronous http client. * * @return Connection manager for asynchronous http client. * @throws IOReactorException in case if a non-recoverable I/O error. */ protected NHttpClientConnectionManager createNHttpClientConnectionManager() throws IOReactorException { ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(IOReactorConfig.custom() .setSoTimeout(this.config.getSocketTimeoutInMillis()).setTcpNoDelay(true).build()); PoolingNHttpClientConnectionManager connectionManager = new PoolingNHttpClientConnectionManager(ioReactor); connectionManager.setDefaultMaxPerRoute(this.config.getMaxConnections()); connectionManager.setMaxTotal(this.config.getMaxConnections()); return connectionManager; }
Example 11
Source File: HttpClientFactory.java From aliyun-tsdb-java-sdk with Apache License 2.0 | 4 votes |
private static CloseableHttpAsyncClient createPoolingHttpClient( Config config, PoolingNHttpClientConnectionManager cm) 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) { TSDBHttpAsyncCallbackExecutor httpAsyncCallbackExecutor = new TSDBHttpAsyncCallbackExecutor(httpConnectionLiveTime); httpAsyncClientBuilder.setEventHandler(httpAsyncCallbackExecutor); } CloseableHttpAsyncClient client = httpAsyncClientBuilder.build(); return client; }
Example 12
Source File: HttpClientFactory.java From log4j2-elasticsearch with Apache License 2.0 | 4 votes |
protected NHttpClientConnectionManager getAsyncConnectionManager() { PoolingNHttpClientConnectionManager connectionManager = createUnconfiguredPoolingNHttpClientConnectionManager(); connectionManager.setMaxTotal(maxTotalConnections); return connectionManager; }
Example 13
Source File: AsyncClientEvictExpiredConnections.java From yunpian-java-sdk with MIT License | 4 votes |
public static void main(String[] args) throws Exception { ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(); PoolingNHttpClientConnectionManager cm = new PoolingNHttpClientConnectionManager(ioReactor); cm.setMaxTotal(100); CloseableHttpAsyncClient httpclient = HttpAsyncClients.custom().setConnectionManager(cm).build(); try { httpclient.start(); // create an array of URIs to perform GETs on String[] urisToGet = { "http://hc.apache.org/", "http://hc.apache.org/httpcomponents-core-ga/", "http://hc.apache.org/httpcomponents-client-ga/", }; IdleConnectionEvictor connEvictor = new IdleConnectionEvictor(cm); connEvictor.start(); final CountDownLatch latch = new CountDownLatch(urisToGet.length); for (final String uri : urisToGet) { final HttpGet httpget = new HttpGet(uri); httpclient.execute(httpget, new FutureCallback<HttpResponse>() { @Override public void completed(final HttpResponse response) { latch.countDown(); System.out.println(httpget.getRequestLine() + "->" + response.getStatusLine()); } @Override public void failed(final Exception ex) { latch.countDown(); System.out.println(httpget.getRequestLine() + "->" + ex); } @Override public void cancelled() { latch.countDown(); System.out.println(httpget.getRequestLine() + " cancelled"); } }); } latch.await(); // Sleep 10 sec and let the connection evictor do its job Thread.sleep(20000); // Shut down the evictor thread connEvictor.shutdown(); connEvictor.join(); } finally { httpclient.close(); } }