I dont want to create one bean (i.e. one interface and implementation class) for each service. If i do that, i will end up having as much interfaces as the number of services.
Also, if i create one rsServer, How will from() in each service route be different from others? If i keep same endpoint (i.e. from(cxfrs://bean://rsServer), i get this exception: "Failed to start route because of Multiple consumers for the same endpoint is not allowed." On Thu, Jun 6, 2013 at 3:13 PM, Sergey Beryozkin <[email protected]>wrote: > Hi > > On 05/06/13 17:33, Tarun Kumar wrote: > >> I am writing restful webservices using camel cxfrs components. I want to >> expose > 10 services and my service interface looks like this: >> >> @Path("/employees") >> public interface EmployeeService { >> >> @Post >> @path("/account") >> someMethod1(); >> >> @Get >> @Path("/books") >> someMethod2(); >> ... >> ... >> } >> >> For each endPoint, i don't want to create one cxf:rsServer server (because >> it won't be scalable solution). I want to expose all the services with one >> cxf:rsServer. So, here is what i did: >> >> <cxf:rsServer id="rsServer" address="http://localhost:** >> 8080/employee-service/ <http://localhost:8080/employee-service/> >> " >> >> serviceClass="com.abc. EmployeeServiceImpl" loggingFeatureEnabled="true" >> loggingSizeLimit="20"> >> >> </cxf:rsServer> >> >> Route for each service is different. i.e. from().to().to().end() for each >> of these services is different. How can i make sure that when i invoke >> http://localhost:8080/**employee-service/employees/**account<http://localhost:8080/employee-service/employees/account>, >> route for >> someMethod1() should get called? >> >> As far as I understand you may want to have a single cxf:rsServer > endpoint which has up to 10 resource classes/beans. > With the regular CXF jaxrs:server, one can do something like this: > > <jaxrs:server address="/company"> > <jaxrs:serviceBeans> > <ref bean="bean1"/> > <!-- ... --> > <ref bean="bean10"/> > </jaxrs:serviceBeans> > </jaxrs:server> > > where bean1 to bean10 represent individual root resources, once starting > with "/employees", another one with "/managers", etc > > I guess you may want to do something like this too with cxf:rsServer > Cheers, Sergey > >
