[
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)