This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/main by this push:
     new b200e8ac64 CXF-9121: LEAK: ByteBuf.release() was not called before 
it's garbage-collected (#2339)
b200e8ac64 is described below

commit b200e8ac644bfc41f3a2ec095e41e5afd774fc11
Author: Andriy Redko <[email protected]>
AuthorDate: Sat Apr 5 10:31:23 2025 -0400

    CXF-9121: LEAK: ByteBuf.release() was not called before it's 
garbage-collected (#2339)
---
 .../http/netty/client/NettyHttpConduit.java          |  2 +-
 .../http2/netty/jaxws/JAXWSAsyncClientTest.java      | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git 
a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java
 
b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java
index de55fdbd30..9cbfc95d73 100644
--- 
a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java
+++ 
b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java
@@ -611,7 +611,7 @@ public class NettyHttpConduit extends HttpClientHTTPConduit 
implements BusLifeCy
 
         @Override
         protected InputStream getInputStream() throws IOException {
-            return new ByteBufInputStream(getHttpResponseContent().content());
+            return new ByteBufInputStream(getHttpResponseContent().content(), 
true);
         }
 
         @Override
diff --git 
a/systests/transport-netty/src/test/java/org/apache/cxf/systest/http2/netty/jaxws/JAXWSAsyncClientTest.java
 
b/systests/transport-netty/src/test/java/org/apache/cxf/systest/http2/netty/jaxws/JAXWSAsyncClientTest.java
index 183f8e1f63..5fdb455e26 100644
--- 
a/systests/transport-netty/src/test/java/org/apache/cxf/systest/http2/netty/jaxws/JAXWSAsyncClientTest.java
+++ 
b/systests/transport-netty/src/test/java/org/apache/cxf/systest/http2/netty/jaxws/JAXWSAsyncClientTest.java
@@ -32,6 +32,7 @@ import jakarta.jws.WebService;
 import jakarta.xml.ws.Response;
 import jakarta.xml.ws.soap.SOAPFaultException;
 import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.ext.logging.LoggingFeature;
 import org.apache.cxf.greeter_control.AbstractGreeterImpl;
 import org.apache.cxf.greeter_control.Greeter;
 import org.apache.cxf.greeter_control.types.GreetMeResponse;
@@ -179,4 +180,23 @@ public class JAXWSAsyncClientTest  extends 
AbstractBusClientServerTestBase {
                        || ex.getCause() instanceof ReadTimeoutException);
         }
     }
+
+    @Test
+    public void testAsyncClientWithLogging() throws Exception {
+        // setup the feature by using JAXWS front-end API
+        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
+        factory.setAddress("http://localhost:"; + PORT + 
"/SoapContext/GreeterPort");
+        factory.setServiceClass(Greeter.class);
+        factory.setFeatures(List.of(new LoggingFeature()));
+        Greeter proxy = factory.create(Greeter.class);
+
+        Response<GreetMeResponse>  response = proxy.greetMeAsync("cxf");
+        int waitCount = 0;
+        while (!response.isDone() && waitCount < 15) {
+            Thread.sleep(1000);
+            waitCount++;
+        }
+        
+        assertTrue("Response still not received.", response.isDone());
+    }
 }

Reply via email to