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]

Reply via email to