I discovered a particularly nasty problem using the Resteasy Client Framework 
and have documented it in the issue tracker:  
https://issues.jboss.org/browse/RESTEASY-963

In a nutshell, if a Client Proxy instance makes a call to the service and the 
service throws an exception, the Client is now rendered inoperable because the 
underlying connection is not adequately reset.

A sample project is included with the issue that demonstrates the problem.  
Note that there is a scenario (when a connection pool no longer has a valid 
connection available) where the call becomes FROZEN!

If I had to guess on the solution, I would say that the invoke method of 
ClientInvoker needs to catch the exception and release the underlying 
connection in the event of an exception.

https://github.com/resteasy/Resteasy/blob/master/jaxrs/resteasy-client/src/main/java/org/jboss/resteasy/client/jaxrs/internal/proxy/ClientInvoker.java#L104

I think this is similar to the issue raised by John D. Ament on the 15th.  
(Resteasy should automatically clean up 
the connection, but this can not be limited to a GC event because we have no 
control over GC events.)

I look forward to seeing this fixed as this is a serious stability risk.  Thank 
you,

Anthony

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to