[ 
https://issues.apache.org/jira/browse/CXF-5360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-5360.
-----------------------------------

       Resolution: Won't Fix
    Fix Version/s: 2.7.7
         Assignee: Sergey Beryozkin

Unfortunately not possible to fix in CXF 2.7.x, will work in CXF 3.0.0 (with 
the beat to be released soon). In meantime: use ResourceComparator  or 
subresources if possible

> Resource classes are selected incorrectly
> -----------------------------------------
>
>                 Key: CXF-5360
>                 URL: https://issues.apache.org/jira/browse/CXF-5360
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.7
>            Reporter: Ivan Bondarenko
>            Assignee: Sergey Beryozkin
>            Priority: Blocker
>             Fix For: 2.7.7
>
>
> The problem: the resource is selected incorrectly when multiple classes can 
> 'visually' handle request. For example if we have two classes
> {code}@Path("/") class Foo {
>   @GET @Path("bar") public String bar() { return "bar"; }
> }
> @Path("/") class Real {
>   @GET @Path("hello") public String hello() { return "hello"; }
> }{code}
> and their instances are registered in this order (e.g. in 
> jaxrs:serviceBeans), when I GET the "/hello" path, the Foo will be selected, 
> while it is not even able to handle this request.
> The starting point to investigate the problem is 
> org.apache.cxf.jaxrs.utils.JAXRSUtils.selectResourceClass(List<ClassResourceInfo>,
>  String, MultivaluedMap<String, String>, Message), where 'candidateList' 
> variable is filled incorrectly. Unfortunately I'm not so familiar with CXF 
> code to provide a patch, but resource class must be selected basing on full 
> class description (all methods and annotations must be taken into account).
> Why this is a problem: except obvious reason (unexpected behavior), this bug 
> disallows to make REST service modular. For example we may want to provide 
> different feature sets for different servers. Right now it is not possible to 
> implement.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to