builder.setConnectTimeout(ClientProperties.getValue(config.getProperties(), ClientProperties.CONNECT_TIMEOUT, 10000));
public static void main(String[] args) { SecureRandom secureRandom = new SecureRandom(); SSLContext sslContext = null; try { sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, null, secureRandom); } catch (Exception e) { e.printStackTrace(); } AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder() .setConnectTimeout(5000) .setSSLContext(sslContext).build(); AsyncHttpClient client = new AsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config); long start = System.currentTimeMillis(); try { client.executeRequest(client.prepareGet("http://www.google.com").build()).get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } LOGGER.debug("COMPLETE: " + (System.currentTimeMillis() - start) + "ms"); } }
AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder(); builder.setConnectTimeout(3000) .setExecutorService(new ThreadPoolExecutor(0, 20, 60L, TimeUnit.SECONDS, new SynchronousQueue<>())) .setRequestTimeout(3000) .setReadTimeout(3000) .build();
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void basicAuthTimeoutTest() throws Exception { setUpServer(Constraint.__BASIC_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, false); try { f.get(); fail("expected timeout"); } catch (Exception e) { inspectException(e); } } }
@Test(groups = { "standalone", "default_provider" }, enabled = true) public void testPutLargeFile() throws Exception { byte[] bytes = "RatherLargeFileRatherLargeFileRatherLargeFileRatherLargeFile".getBytes("UTF-16"); long repeats = (1024 * 1024 * 100 / bytes.length) + 1; largeFile = createTempFile(bytes, (int) repeats); int timeout = (int) (largeFile.length() / 1000); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setConnectTimeout(timeout).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { BoundRequestBuilder rb = client.preparePut(getTargetUrl()); rb.setBody(largeFile); Response response = rb.execute().get(); Assert.assertEquals(200, response.getStatusCode()); } }
public Builder setConnectTimeout(int connectTimeout) { configBuilder.setConnectTimeout(connectTimeout); return this; }
public void setConnectionTimeoutInMs(int defaultConnectionTimeOutInMs) { builder.setConnectTimeout(defaultConnectionTimeOutInMs); }
public Builder setConnectTimeout(int connectTimeout) { configBuilder.setConnectTimeout(connectTimeout); return this; }
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void digestFuturePreemptiveAuthTimeoutTest() throws Exception { setUpServer(Constraint.__DIGEST_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, true); f.get(1, TimeUnit.SECONDS); fail("expected timeout"); } catch (Exception e) { inspectException(e); } }
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void basicFuturePreemptiveAuthTimeoutTest() throws Exception { setUpServer(Constraint.__BASIC_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, true); f.get(1, TimeUnit.SECONDS); fail("expected timeout"); } catch (Exception e) { inspectException(e); } }
public final static AsyncHttpClient createDefaultAsyncHttpClient(int requestTimeoutInSeconds, AsyncHttpProviderConfig asyncHttpProviderConfig) { AsyncHttpClientConfig.Builder b = new AsyncHttpClientConfig.Builder(); b.setFollowRedirect(true).setConnectTimeout(-1) .setReadTimeout(requestTimeoutInSeconds == -1 ? requestTimeoutInSeconds : requestTimeoutInSeconds * 1000) .setUserAgent(WASYNC_USER_AGENT); AsyncHttpClientConfig config = b.setAsyncHttpClientProviderConfig(asyncHttpProviderConfig).build(); return new AsyncHttpClient(config); }
protected AsyncHttpClientConfig.Builder httpClientBuilder() { return new AsyncHttpClientConfig.Builder()// .setAllowPoolingConnections(true)// .setMaxConnectionsPerHost(1)// .setMaxConnections(1)// .setConnectTimeout(1000)// .setRequestTimeout(1000).setFollowRedirect(true); }
public final static AsyncHttpClient createDefaultAsyncHttpClient(int requestTimeoutInSeconds, AsyncHttpProviderConfig asyncHttpProviderConfig) { AsyncHttpClientConfig.Builder b = new AsyncHttpClientConfig.Builder(); b.setFollowRedirect(true).setConnectTimeout(-1) .setReadTimeout(requestTimeoutInSeconds == -1 ? requestTimeoutInSeconds : requestTimeoutInSeconds * 1000) .setUserAgent(WASYNC_USER_AGENT); AsyncHttpClientConfig config = b.setAsyncHttpClientProviderConfig(asyncHttpProviderConfig).build(); return new AsyncHttpClient(config); }
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void digestFutureAuthTimeoutTest() throws Exception { setUpServer(Constraint.__DIGEST_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, false); f.get(1, TimeUnit.SECONDS); fail("expected timeout"); } catch (Exception e) { inspectException(e); } }
private AsyncHttpClient buildAsyncHttpClient(final Boolean strictSSL, final int readTimeout, final int connectTimeout) throws GeneralSecurityException { AsyncHttpClientConfig.Builder cfg = new AsyncHttpClientConfig.Builder(); cfg.setUserAgent(USER_AGENT) .setConnectTimeout(connectTimeout) .setReadTimeout(readTimeout); if (!strictSSL) { cfg.setSSLContext(SslUtils.getInstance().getSSLContext(!strictSSL)); } return new AsyncHttpClient(cfg.build()); }
/** * Set the maximum time in milliseconds the client will can wait when connecting to a remote host. * * @param connectTimeout the connect timeout in milliseconds. * @return this config builder. */ public Builder connectTimeout(final int connectTimeout) { clientConfig.setConnectTimeout(connectTimeout); return this; }
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void basicFutureAuthTimeoutTest() throws Exception { setUpServer(Constraint.__BASIC_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, false); f.get(1, TimeUnit.SECONDS); fail("expected timeout"); } catch (Exception e) { inspectException(e); } }
@Test(groups = { "standalone", "default_provider" }, enabled = false) public void digestPreemptiveAuthTimeoutTest() throws Exception { setUpServer(Constraint.__DIGEST_AUTH); AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder().setPooledConnectionIdleTimeout(2000).setConnectTimeout(20000).setRequestTimeout(2000).build(); try (AsyncHttpClient client = getAsyncHttpClient(config)) { Future<Response> f = execute(client, true); f.get(); fail("expected timeout"); } catch (Exception e) { inspectException(e); } }
AsyncHttpClient buildDefaultClient() { builder.setMaxRequestRetry(maxRequestRetry)//尝试重试次数 .setAllowPoolingConnections(allowPollingConnections)//开启连接池模式 .setMaxConnections(maxConnections)//最大连接数 .setConnectTimeout(connectTimeout)//连接超时时间 .setPooledConnectionIdleTimeout(readTimeout)//设置连接池超时时间 .setReadTimeout(readTimeout)//读取请求超时时间 .setFollowRedirect(followRedirect)//开启重定向追踪 .setMaxRedirects(maxRedirects)//重定向次数限制 .setUserAgent(userAgent)//设置UserAgent .setMaxConnectionsPerHost(maxConnectionsPerHost)//设置初始连接池大小 .setIOThreadMultiplier(ioThreadMultiplier)//用于IO的线程数 .setCompressionEnforced(compressionEnforced)//压缩执行 ; return new AsyncHttpClient(builder.build()); }
public Builder setConnectTimeout(int connectTimeout) { configBuilder.setConnectTimeout(connectTimeout); return this; }