Attila Király created CXF-8009:
----------------------------------
Summary: CXF should not use ClassUtils for cglib checks
Key: CXF-8009
URL: https://issues.apache.org/jira/browse/CXF-8009
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 2.7.18
Reporter: Attila Király
When using lambda to implement a jax-rs \{{StreamingOutput}} we get a no
message body writer found error.
However if we use an anonymous class instead of the lambda then it works.
This happens because CXF uses the spring method
\{{ClassUtils.isCglibProxyClass()}} for detecting cglib classes. However that
method is not strict enough and incorrectly marks every lambda class as cglib
as well. This causes CXF to get the superclass which will always be
\{{Object.class}} for which there is no message body writer.
According to the [feedback
received|[https://github.com/spring-projects/spring-framework/issues/22706]] on
the spring project instead of \{{ClassUtils.isCglibProxyClass()}} (which got
deprecated) people should use other methods, for example
\{{AopUtils.isCglibProxy()}} which is more strict.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)