Yes,

they are serializable. Everything works fine if everything is used within the 
same web application. The problems come out when spreading things among 
different web apps.

Unfortunately I cannot go with OSGi because of backwards compatibility.

Thanks anyway.

Alberto



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

> On Mon, Jul 18, 2011 at 10:21 AM, alberto.zigoni 
> <[hidden email]> wrote:
> 
> > 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. 
> >
> 
> Are the java objects you store in the cache serializable? 
> 
> You can also store the content in the cache in a canonical format such 
> as JSon, XML, binary using google protobuf, any other custom 
> serialization etc. 
> 
> Alternatively this kind of issues is where OSGi excels. It allows 
> these kind of modularization. And a much higher class loader 
> flexibility. 
> 
> 
> > 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 [hidden email] 
> >> 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.
> 
> 
> 
> -- 
> 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-tp4598504p4598605.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-tp4598504p4598774.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to