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.