[
https://issues.apache.org/jira/browse/HTTPCLIENT-1941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski resolved HTTPCLIENT-1941.
-------------------------------------------
Resolution: Won't Fix
> HttpAsyncClient throws generic exception when connection lease request times
> out
> --------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1941
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1941
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient (async)
> Reporter: Marcelo Cenerino
> Priority: Major
>
> The classic HttpClient throws a
> "org.apache.http.conn.ConnectionPoolTimeoutException" when a connection
> cannot be obtained within a given timeout. The async HttpClient, on the other
> hand, throws a generic "java.util.concurrent.TimeoutException":
> - org.apache.http.nio.pool.AbstractNIOConnPool:
> {code:java}
> final long deadline = request.getDeadline();
> final long now = System.currentTimeMillis();
> if (now > deadline) {
> request.failed(new TimeoutException());
> return false;
> }
> {code}
> The specific "ConnectionPoolTimeoutException" was handier, both to catch and
> handle it in the code as well as to analise stack traces.
> In fact, the classic HttpClient translates the "j.u.c.TimeoutException" into
> "o.a.h.c.ConnectionPoolTimeoutException":
> - org.apache.http.impl.conn.PoolingHttpClientConnectionManager:
> {code:java}
> protected HttpClientConnection leaseConnection(
> final Future<CPoolEntry> future,
> final long timeout,
> final TimeUnit tunit) throws InterruptedException,
> ExecutionException, ConnectionPoolTimeoutException {
> final CPoolEntry entry;
> try {
> // omitted
> } catch (final TimeoutException ex) {
> throw new ConnectionPoolTimeoutException("Timeout waiting for
> connection from pool");
> }
> }
> {code}
>
> It would be nice if the async client did the same. However, this could break
> existing code relying on the current behavior.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]