Ivan Iliev created CXF-9017:
-------------------------------

             Summary: Regression in proxy-based restful client
                 Key: CXF-9017
                 URL: https://issues.apache.org/jira/browse/CXF-9017
             Project: CXF
          Issue Type: Bug
            Reporter: Ivan Iliev


The memory leak fix introduced in 
https://issues.apache.org/jira/browse/CXF-8946 breaks the way the 
ClientProxyImpl works. It passes its ClientConfiguration down to sub-proxies. 
When those sub-proxies get garbage collected, that configuration gets closed. 
One of the objects that are closed is AbstractConduitSelector -> conduits.

After that, any newly created sub-proxies will have misconfigured clients. For 
example, we are configuring TLSClientParameters on the conduit of the root, 
which gets wiped out and therefore the new child clients can no longer connect.
{code:java}
API api = JAXRSClientFactory.create(endpoint, <API.class>, getCxfProviders(), 
true); // root proxy
configure(api);//add TLSClientParameters
SomeResource s = api.getSomeResource(); // sub-proxy
....
<garbage collect s and its underlying client>
SomeOtherResource s2 = api.get(); //broken{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to