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

reta pushed a commit to branch 3.6.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 4c109efb5b770818273ae65259958b8bb7a63625
Author: Andriy Redko <[email protected]>
AuthorDate: Wed Nov 12 21:21:32 2025 -0500

    Fix subresource proxy creation for MicroProfileClientProxyImpl
    
    (cherry picked from commit 58727eb07018c13e3712ec2f8e94b612e1893e01)
    (cherry picked from commit 36c4eb9ee25e2a58323b1be720c4ed57f88c61e2)
---
 .../main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java   | 8 ++++++--
 .../microprofile/client/proxy/MicroProfileClientProxyImpl.java   | 9 +++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git 
a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java 
b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
index aea834b51d..db7c84ecc3 100644
--- 
a/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
+++ 
b/rt/rs/client/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java
@@ -318,8 +318,7 @@ public class ClientProxyImpl extends AbstractClient 
implements
 
             ClientState newState = getState().newState(uri, subHeaders,
                  getTemplateParametersMap(ori.getURITemplate(), pathParams));
-            ClientProxyImpl proxyImpl =
-                new ClientProxyImpl(newState, proxyLoader, subCri, false, 
inheritHeaders);
+            ClientProxyImpl proxyImpl = createProxy(newState, proxyLoader, 
subCri, false, inheritHeaders);
             proxyImpl.setConfiguration(getConfiguration());
             return JAXRSClientFactory.createProxy(m.getReturnType(), 
proxyLoader, proxyImpl);
         }
@@ -352,6 +351,11 @@ public class ClientProxyImpl extends AbstractClient 
implements
 
     }
 
+    protected ClientProxyImpl createProxy(final ClientState newState, final 
ClassLoader loader,
+            final ClassResourceInfo newCri, final boolean isNewRoot, final 
boolean newInheritHeaders) {
+        return new ClientProxyImpl(newState, loader, newCri, isNewRoot, 
newInheritHeaders);
+    }
+
     protected void addNonEmptyPath(UriBuilder builder, String pathValue) {
         if (!SLASH.equals(pathValue)) {
             builder.path(pathValue);
diff --git 
a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
 
b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
index 3e24b4ba8e..bf4d5f5bee 100644
--- 
a/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
+++ 
b/rt/rs/microprofile-client/src/main/java/org/apache/cxf/microprofile/client/proxy/MicroProfileClientProxyImpl.java
@@ -450,6 +450,15 @@ public class MicroProfileClientProxyImpl extends 
ClientProxyImpl {
         }
     }
 
+    @Override
+    protected ClientProxyImpl createProxy(final ClientState newState, final 
ClassLoader loader,
+            final ClassResourceInfo newCri, final boolean isNewRoot, final 
boolean newInheritHeaders) {
+        final ExecutorService executor = (ExecutorService) 
cfg.getRequestContext().get(EXECUTOR_SERVICE_PROPERTY);
+        final Configuration configuration = (Configuration) 
cfg.getRequestContext().get(Configuration.class.getName());
+        return new MicroProfileClientProxyImpl(newState, loader, newCri, 
isNewRoot, newInheritHeaders, 
+            executor, configuration, interceptorWrapper, tlsConfig);
+    }
+
     private <T> T mapInstance(Instance<T> instance) {
         cdiInstances.add(instance);
         return instance.getValue();

Reply via email to