You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/08/02 18:29:48 UTC

svn commit: r1509765 - in /cxf/branches/2.6.x-fixes: ./ rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java

Author: sergeyb
Date: Fri Aug  2 16:29:48 2013
New Revision: 1509765

URL: http://svn.apache.org/r1509765
Log:
Merged revisions 1509762 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes

................
  r1509762 | sergeyb | 2013-08-02 17:22:45 +0100 (Fri, 02 Aug 2013) | 9 lines
  
  Merged revisions 1509756 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1509756 | sergeyb | 2013-08-02 17:10:36 +0100 (Fri, 02 Aug 2013) | 1 line
    
    [CXF-5144] Closing response stream only if 'response.stream.auto.close' property is enabled
  ........
................

Modified:
    cxf/branches/2.6.x-fixes/   (props changed)
    cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/branches/2.7.x-fixes:r1509762
  Merged /cxf/trunk:r1509756

Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java?rev=1509765&r1=1509764&r2=1509765&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java (original)
+++ cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/AbstractClient.java Fri Aug  2 16:29:48 2013
@@ -449,7 +449,7 @@ public abstract class AbstractClient imp
             } catch (Exception ex) {
                 reportMessageHandlerProblem("MSG_READER_PROBLEM", cls, contentType, ex, r);
             } finally {
-                if (cls != InputStream.class && inputStream != null) {
+                if (inputStream != null && responseStreamCanBeClosed(outMessage, cls)) {
                     try {
                         inputStream.close();
                     } catch (IOException ex) { 
@@ -465,6 +465,10 @@ public abstract class AbstractClient imp
         return null;                                                
     }
     
+    private boolean responseStreamCanBeClosed(Message outMessage, Class<?> cls) {
+        return MessageUtils.isTrue(outMessage.getContextualProperty("response.stream.auto.close"));
+    }    
+
     protected void completeExchange(Object response, Exchange exchange, boolean proxy) {
         // higher level conduits such as FailoverTargetSelector need to
         // clear the request state but a fair number of response objects