You should be able to use the Local transport, but as you said, it’s not 
exactly easy.  It would likely also require you to have the CXF jars in the 
shared/lib area of your app server so that the actual java classes are shared 
and can be cast to one another.   You’d probably need to create a very small 
jar (also in shared/lib) with a Spring factory thing that would return a 
LocalTransportFactory singleton (instead of a new instance per bus).  Each of 
your wars would then grab their LocalTranportFactory via that factory.    May 
also be able to do it via a BusLIstener or similar that would register a 
singleton factory for each bus that is created.   

Dan





On Feb 9, 2014, at 5:21 PM, Mandy Warren <mandys.in...@gmail.com> wrote:

> Hi,
> 
> I've just started looking at Camel and I was wondering whether there was a
> way to call from a CXF rest service deployed in war A to a CXF rest service
> deployed in war B without the overhead of an HTTP call if both wars are
> deployed in the same JVM?
> 
> Some background to my requirement..
> - we have a large number of cxf services deployed in weblogic and a single
> service may call 2 or 3 other services to complete its work. We'd ideally
> like the calls to be made on a single thread when the calls are within the
> same JVM as it makes debugging much easier.
> 
> Local transport in CXF looks ideal except it doesn't work across wars (at
> least I haven't managed to make it work).
> 
> direct-vm looks interesting but I don't want the 2 services to be dependent
> on each others service interface classes - instead I'd just like to pass a
> JSON request between the 2 services and then have something execute the
> appropriate rest service (and it's interceptors ideally).
> 
> Is there any way to achieve this?
> 
> Many thanks
> Mandy

-- 
Daniel Kulp
dk...@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to