[
https://issues.apache.org/jira/browse/CXF-8411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andriy Redko updated CXF-8411:
------------------------------
Labels: graalvm (was: )
> Improve FastInfoset interceptors' compatibility with GraalVM native
> compilation
> -------------------------------------------------------------------------------
>
> Key: CXF-8411
> URL: https://issues.apache.org/jira/browse/CXF-8411
> Project: CXF
> Issue Type: Improvement
> Components: Core
> Affects Versions: 3.4.2
> Reporter: Bruno Gonçalves
> Priority: Major
> Labels: graalvm
> Fix For: 3.5.0, 3.4.3, 3.3.10
>
>
> The FastInfoset jar is an optional dependency of CXF which means most
> applications will not have it on their classpath. When that is the case, the
> GraalVM native compilation of {{FIStaxInInterceptor}} and
> {{FIStaxOutInterceptor}} will fail. That in itself is not a big deal as it
> would be trivial to apply some substitutions however, the fact that the two
> interceptors use classes from FastInfoset in the return values of some of
> their methods makes them impossible to substitute.
> The two offending methods are:
> {{FIStaxInInterceptor}} -> {{private StAXDocumentParser getParser(InputStream
> in)}}
> {{FIStaxOutInterceptor}} -> {{private StAXDocumentSerializer
> getOutput(OutputStream out)}}
> I suggest replacing the FastInfoset classes in the return values with the
> appropriate StAX interfaces: {{XMLStreamReader}} and {{XMLStreamWriter}}
> respectively. There's also a variable in {{FIStaxOutInterceptor}} whose type
> could be changed in the same way. These few changes would make the two
> interceptors trivial to substitute when FastInfoset is not present at native
> compilation time.
> If there's interest in this change, I can offer a PR pretty quickly.
> An alternative to these changes could be to turn the FastInfoset support into
> an extension which could then be disabled during native compilation. However,
> the implications of that kind of change are not something I can properly
> appreciate with my limited knowledge of the CXF codebase.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)