On Wed, 2013-05-08 at 15:38 +0100, sebb wrote: > On 8 May 2013 15:04, <[email protected]> wrote: > > Author: olegk > > Date: Wed May 8 14:04:29 2013 > > New Revision: 1480281 > > > > URL: http://svn.apache.org/r1480281 > > Log: > > Suppress resource leak warning for HttpClientExchangeHandler instances > > > > Modified: > > > > httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/InternalHttpAsyncClient.java > > > > httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/MinimalHttpAsyncClient.java > > > > Modified: > > httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/InternalHttpAsyncClient.java > > URL: > > http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/InternalHttpAsyncClient.java?rev=1480281&r1=1480280&r2=1480281&view=diff > > ============================================================================== > > --- > > httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/InternalHttpAsyncClient.java > > (original) > > +++ > > httpcomponents/httpasyncclient/trunk/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/InternalHttpAsyncClient.java > > Wed May 8 14:04:29 2013 > > @@ -175,6 +175,7 @@ class InternalHttpAsyncClient extends Cl > > context != null ? context : new BasicHttpContext()); > > setupContext(localcontext); > > > > + @SuppressWarnings("resource") > > Why is it safe to ignore the warning? >
Well, the usual delights of asynchronous programming. Execution flow is no longer context (thread) bound and one can no longer rely upon try-catch-finally to ensure resource deallocation. Instead resource deallocation can be triggered by multiple events (execution completed, execution failed, execution canceled, etc). Static code analysis such as employed by Eclipse to ensure Closeable(s) always get closed no longer works here. Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
