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();
