[
https://issues.apache.org/jira/browse/CXF-8992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17931677#comment-17931677
]
Andriy Redko commented on CXF-8992:
-----------------------------------
The fix introduces ClientConfiguration referencing (since implementing the deep
copy of is quite difficult), the new bus property
`{color:#000000}{color:#2a00ff}use.configuration.reference.when.copy{color}{color}`
({*}true{*} by default) allows to circumvent the referencing mechanism by
falling back to sharing the configuration (leading to this issue).
> WebClient.fromClient() broken due to garbage collection
> -------------------------------------------------------
>
> Key: CXF-8992
> URL: https://issues.apache.org/jira/browse/CXF-8992
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 4.0.4
> Reporter: Dennis
> Assignee: Andriy Redko
> Priority: Major
> Fix For: 3.5.11, 3.6.6, 4.0.7, 4.1.1
>
>
> The following code throws an exception, probably because when one WebClient
> instance is finalized, it also closes its transport, which is reused by other
> instances.
> For URLs that don’t use HTTP2, a timeout exception is thrown instead,
> probably due to the same reason.
> Is this a bug or am I using it incorrectly?
> {code:java}
> WebClient c = WebClient.create("https://www.google.com");
>
> System.out.println(WebClient.fromClient(c).get().getStatus());
> System.gc();
>
> // java.io.EOFException: EOFException invoking https://www.google.com: HTTP/2
> client stopped
> System.out.println(WebClient.fromClient(c).get().getStatus());
> {code}
> The same can also be reproduced using JAX RS WebTarget API:
> {code:java}
> WebTarget webTarget =
> ClientBuilder.newClient().target("https://www.google.com");
> System.out.println(webTarget.request().get().getStatus());
> System.gc();
> // java.io.EOFException: EOFException invoking https://www.google.com: HTTP/2
> client stopped
> System.out.println(webTarget.request().get().getStatus());
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)