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

Romain Manni-Bucau commented on CXF-5970:
-----------------------------------------

jackson uses */* as well as fleece (apache json provider).

issue can be: let say you have provider A supporting types [A1, A2] and 
provider B supporting types [A2, A3]: if cxf doesn't repect the ordering of the 
user how do you say you want A before B or B before A? can depend the case. And 
with providers using */* to handle the isReadable/isWritable more deeply then 
it is pretty easy to get this case.

> review org.apache.cxf.jaxrs.provider.ProviderFactory.Message*ReaderComparator
> -----------------------------------------------------------------------------
>
>                 Key: CXF-5970
>                 URL: https://issues.apache.org/jira/browse/CXF-5970
>             Project: CXF
>          Issue Type: Bug
>            Reporter: Romain Manni-Bucau
>
> Actually the task can be rephrase saying rework 
> org.apache.cxf.jaxrs.provider.ProviderFactory#*Comparators
> Current implementations don't seem to have an absolute order which means 
> sorting is not as deterministic as it should be under java >= 7.
> Other point is as a user you set a List of providers (you probably already 
> sorted if important) so you want to ensure *your* order is respected at 
> runtime (ie 
> org.apache.cxf.jaxrs.provider.ProviderFactory#message[Readers|Writers] 
> respect it).
> If you think this sorting is important maybe introducing in 
> org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean and 
> org.apache.cxf.jaxrs.provider.ProviderFactory a boolean sortProviders can be 
> enough to prevent calling sortXXX().



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to