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
<alberto.zig...@gmail.com> 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: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to