[ 
https://issues.apache.org/jira/browse/CXF-8992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17834650#comment-17834650
 ] 

Dennis commented on CXF-8992:
-----------------------------

Yeah looks like the finalizer (as well as other potentially related code) was 
introduced here: [Change from using aonymous inner classes to static classes to 
avoid h… · apache/cxf@5ffdb90 
(github.com)|https://github.com/apache/cxf/commit/5ffdb906b560458ad8df5a892554b6e806d98d9e#diff-660ab7b7b6a7b75d899f2a1cd889b168aadd5a194d2aa9fbae875c1b56891c6c]

Better to avoid using 4.0.4 for the time being I guess

> 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
>            Priority: Major
>
> 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)

Reply via email to