You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2017/12/18 17:20:00 UTC
[jira] [Resolved] (HTTPASYNC-131) SocketTimeout doesn't work for me
[ https://issues.apache.org/jira/browse/HTTPASYNC-131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPASYNC-131.
-----------------------------------------
Resolution: Invalid
You code is not wrong, your expectations are. Please see the definition of socket timeout
Please also note that by default the granularity of socket / connect timeouts of non-blocking I/O reactors is 1000 ms.
Oleg
> SocketTimeout doesn't work for me
> ---------------------------------
>
> Key: HTTPASYNC-131
> URL: https://issues.apache.org/jira/browse/HTTPASYNC-131
> Project: HttpComponents HttpAsyncClient
> Issue Type: Bug
> Affects Versions: 4.1.3
> Environment: httpasyncclient-4.1.3.jar
> httpcore-4.4.7.jar
> httpcore-nio-4.4.7.jar
> Reporter: ccin
> Priority: Critical
>
> my code is like this,but the timeout config doesn't work for me,i still get a response more than 100ms which i expect a timeout exception.Is there something wrong with my code?ths for your help
> {code:java}
> RequestConfig requestConfig = RequestConfig.custom()
> .setConnectTimeout(50)
> .setSocketTimeout(50)
> .setConnectionRequestTimeout(config.getConnectTimeout()).build();
> Registry<SchemeIOSessionStrategy> sessionStrategyRegistry = RegistryBuilder
> .<SchemeIOSessionStrategy>create()
> .register("http", NoopIOSessionStrategy.INSTANCE)
> .build();
> IOReactorConfig ioReactorConfig = IOReactorConfig.custom()
> .setIoThreadCount(Runtime.getRuntime().availableProcessors())
> .setSoTimeout(50)
> .setConnectTimeout(50)
> .build();
> ConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig);
> PoolingNHttpClientConnectionManager conMgr = new PoolingNHttpClientConnectionManager(
> ioReactor, null, sessionStrategyRegistry, null);
> conMgr.setMaxTotal(config.getPoolSize());
> conMgr.setDefaultMaxPerRoute(config.getMaxPerRoute());
> ConnectionConfig connectionConfig = ConnectionConfig.custom()
> .setMalformedInputAction(CodingErrorAction.IGNORE)
> .setUnmappableInputAction(CodingErrorAction.IGNORE)
> .setCharset(Consts.UTF_8).build();
> conMgr.setDefaultConnectionConfig(connectionConfig);
> CloseableHttpAsyncClient client = HttpAsyncClients.custom().setConnectionManager(conMgr)
> .setDefaultCookieStore(new BasicCookieStore())
> .setDefaultRequestConfig(requestConfig).build();
> client.start();
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org