cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] [Commented] (CXF-6837) Add cache for MessageBodyReader/Writer
Date Sat, 26 Mar 2016 13:06:25 GMT


Sergey Beryozkin commented on CXF-6837:

Neal, selection of the providers is probably one of the most tricky/sensitive parts of JAX-RS.
I'd like to suggest that you complete the patch work such that indeed tests do pass. 
Look at the failing test, understand why it works without your changes, then see why applying
your changes causes the test to fail.
As I said, the fact MediaType matches is not enough, the provider is isReadable/isWriteable
must return true. Therefore the key should be the composite one, and the provider should only
be added to the cache if its isReadable/isWriteable returns true. The caching should be optional
too, but I can take care if it later on.


> Add cache for MessageBodyReader/Writer
> --------------------------------------
>                 Key: CXF-6837
>                 URL:
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-RS
>    Affects Versions: 3.1.5, 3.0.8
>         Environment: windows
>            Reporter: Neal Hu
>             Fix For: 3.2.0
>         Attachments:, ProviderFactory.patch
> CXF selects the msgBodyReader/writer in the reader/writer list for every request, which
has big impact to the performance. Jersey also has the cache in org.glassfish.jersey.message.internal.MessageBodyFactory._getMessageBodyReader(...).
I have tried add the cache for CXF in ProviderFactory and been proved that it has improved
7-8% for json requests in JMeter. Please let me know if you'd like me to add the enhancement
for CXF. Thanks. 

This message was sent by Atlassian JIRA

View raw message