Claus,

I have tried it first, but there are a lot of ClassNotFoundError problems.

Even though you find the least amount of jars to be copied to the tomcat shared 
lib, there are problems when you e.g. call 
exchange.getIn().getBody(MyApplicationClass.class).

If the Camel core classes are loaded by a different classloader than the 
application classes, the getBody returns null even if the body is not null and 
is of the correct type (verified with the debugger).

I am thinking about using RMI or something like that.

Alberto


Il giorno 18/lug/2011, alle ore 10.10, Claus Ibsen-2 [via Camel] ha scritto:

> Maybe just copy that camel-cache JAR into tomcat shared lib. And then 
> keep the other Camel JARs in your WARs. 
> 
> 
> On Mon, Jul 18, 2011 at 9:42 AM, alberto.zigoni 
> <[hidden email]> wrote:
> 
> > I have defined a Camel context with a route creating and populating a 
> > cache. 
> > This camel context is included into a web application deployed on Tomcat. 
> > 
> > The route creating and populating the cache is fired at startup using a 
> > Quartz endpoint. Everything works fine. 
> > 
> > Now I want to query that cache from another web application deployed to the 
> > same Tomcat server (i.e. same JVM for the two webapps), using a dedicated 
> > Camel route. 
> > 
> > The problem is that the CacheManager instantiated by Camel is a singleton 
> > within the scope of the classloader and, since Servlet API reverses the 
> > standard classloading hierarchy, the two webapps each create their own 
> > CacheManager, so they cannot share the cache. 
> > 
> > I am using Camel 2.6.0. 
> > 
> > I have found an ugly workaround, which is to delete all the jars from the 
> > WEB-INF/lib directories and copy them into Tomcat lib directory. 
> > 
> > Another workaround that I am trying is to query the cache through a vm: 
> > endpoint from one Camel context to the other, like this: 
> > 
> > Context A: 
> > 
> > from("wherever").to("vm:queryCache") 
> > 
> > 
> > Context B: 
> > 
> > from("vm:queryCache").to("cache://myCache") 
> > 
> > Can you suggest other ways of having the webapps sharing the cache? 
> > 
> > Is it possible to override Ehcache configuration with camel 2.6.0? 
> > 
> > Thanks 
> > 
> > Alberto 
> > 
> > -- 
> > View this message in context: 
> > http://camel.465427.n5.nabble.com/two-webapps-on-Tomcat-sharing-cache-through-Camel-tp4598504p4598504.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> 
> 
> 
> -- 
> Claus Ibsen 
> ----------------- 
> FuseSource 
> Email: [hidden email] 
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews 
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
> 
> 
> If you reply to this email, your message will be added to the discussion 
> below:
> http://camel.465427.n5.nabble.com/two-webapps-on-Tomcat-sharing-cache-through-Camel-tp4598504p4598564.html
> To start a new topic under Camel - Users, email 
> ml-node+465428-1832908794-4...@n5.nabble.com 
> To unsubscribe from Camel - Users, click here.



--
View this message in context: 
http://camel.465427.n5.nabble.com/two-webapps-on-Tomcat-sharing-cache-through-Camel-tp4598504p4598591.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to