camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tarun Kumar <agrawal.taru...@gmail.com>
Subject Re: Multiple cxf:serviceBeans in cxf:rsServer
Date Wed, 12 Jun 2013 17:14:31 GMT
Sergey, Thanks for the reply. from endpoint is totally different for both
the routes (i reverified it). Based on resourceClass, it should be able to
distinguish. Not sure what am missing here?


On Wed, Jun 12, 2013 at 8:51 PM, Sergey Beryozkin <sberyozkin@gmail.com>wrote:

> On 12/06/13 15:15, Tarun Kumar wrote:
>
>> I have mutiple serviceBeans in cxf:rsServer component.
>>
>> <cxf:rsServer id="rsServer" address="
>> http://localhost:8080/**services/employees<http://localhost:8080/services/employees>
>> >
>> <cxf:serviceBeans>
>>    <ref bean="aBean" />
>>    <ref bean="bBean" />
>> </cxf:serviceBeans>
>> </cxf:rsServer>
>>
>> <bean id="aBean" class="x.y.ClassA" />
>> <bean id="bBean" class="x.y.ClassB" />
>>
>> Here ClassA and ClassB are implementation of service interfaces.
>>
>> I have one route class for each service route.
>> for first service:
>>
>> from("cxfrs://bean://rsServer?**resourceClass=ClassA.getClass(**
>> ).getName()).to().end();
>>
>> for second one"
>>
>> from("cxfrs://bean://rsServer?**resourceClass=ClassB.getClass(**
>> ).getName()).to().end();
>>
> I'm not sure you have to list the class names, the JAX-RS runtime will
> itself figure out which service bean is to be invoked, you can probably
> collapse multiple routes into a single one
>
>
>
>> When i hit second service and put debugger in both routes (route of first
>> service and second service), route of first service is being hit. Why is
>> that? How can i make sure that only corresponding route gets hit?
>>
>>  This is likely to be more of the JAX-RS issue. At the moment, if you
> have multiple root resources with the same @Path value then the 1st
> matching root resource will get selected and if it has no matching
> operation then no back-tracking is done.
> What you can do is try and make sure each root resource covers its own
> unique URI space, or try using a CXF extension:
> http://cxf.apache.org/docs/**jax-rs-basics.html#JAX-**RSBasics-**
> Customselectionbetweenmultiple**resources<http://cxf.apache.org/docs/jax-rs-basics.html#JAX-RSBasics-Customselectionbetweenmultipleresources>
>
> it actually lists a working implementation Jan Bernhardt needed for his
> project
>
> Note, in CXF 3.0 selecting between root resources with exactly the same
> path will work as per JAX-RS 2.0 rules
>
> Sergey
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message