Re: sync cayenne cache in two web apps

2009-07-30 Thread Mike Kienenberger
Again, if you're really concerned about performance and impact, my guess is that it would be trivial to replace the JGroup protocol with a unix pipe instead of a network socket implementation, if you're on an OS that supports it. On Thu, Jul 30, 2009 at 5:43 PM, Mike Kienenberger wrote: > I don't

Re: sync cayenne cache in two web apps

2009-07-30 Thread Mike Kienenberger
I don't remember the specific implementation, and it might vary for JavaGroups over what is used internally. You really don't need to use multicast if you only have two apps. I'd go with the TCP setup, both for reliability and to limit the impact on the rest of the network. The same traffic prob

Re: sync cayenne cache in two web apps

2009-07-30 Thread Tobias Schoessler
yes that's what I observe too. The messages sent when these updates occure, do they contain the change infromation or only the information which objects to invalidate? I got this asked when I asked for the multicast address, to estiamte traffic for this setup. On Thu, Jul 30, 2009 at 11:33 PM, Mic

Re: sync cayenne cache in two web apps

2009-07-30 Thread Mike Kienenberger
Inserts, deletes, updates, and invalidates, if I remember correctly. On Thu, Jul 30, 2009 at 5:33 PM, Michael Gentry wrote: > Hi Tobias, > > I've not used the cache synchronization before, but I was under the > impression that the main overhead is when inserts/updates/deletes are > done, not when

Re: sync cayenne cache in two web apps

2009-07-30 Thread Mike Kienenberger
Yes, the problem with trying to use a shared variable (DataContext or cache) is that a typical web app really isn't designed for that methodology to be practical. Normally your DataContext or cache would be per request or per session. I could be wrong, but I don't think there's all that much ov

Re: sync cayenne cache in two web apps

2009-07-30 Thread Michael Gentry
Hi Tobias, I've not used the cache synchronization before, but I was under the impression that the main overhead is when inserts/updates/deletes are done, not when selects are done. When you do an insert/update/delete, that information must be broadcast, but selects do not. I'm sure someone will

Re: sync cayenne cache in two web apps

2009-07-30 Thread Tobias Schoessler
So thank you for all the suggestions. The solution we finally ended up with was the one Mike actually suggested intitially. We got our multicast ip, dropped the latest Jgroups.jar into both webapps lib directories, selected Jgroups as the Syncronisation mechanism in the cayenne modeller, used the d

Re: sync cayenne cache in two web apps

2009-07-30 Thread Malcolm Edgar
On Thu, Jul 30, 2009 at 6:47 PM, Tobias Schoessler wrote: > Thanks everyone for the posts. > > @Mike, I am still not convinced that using the Remote Notification Feature > is really nessecary here. After all, there seems to be a JVM shared between > webapps in Tomcat and the article posted seems to

Re: sync cayenne cache in two web apps

2009-07-30 Thread Tobias Schoessler
Thanks everyone for the posts. @Mike, I am still not convinced that using the Remote Notification Feature is really nessecary here. After all, there seems to be a JVM shared between webapps in Tomcat and the article posted seems to proof that there is a possiblity to share information between the

Re: sync cayenne cache in two web apps

2009-07-29 Thread Malcolm Edgar
You can also use OSCache with Cayenne and have the cached queries expire frequently, i.e. after 30 seconds regards Malcolm Edgar On Thu, Jul 30, 2009 at 6:36 AM, Mike Kienenberger wrote: > Before you make your own custom solution, you might want to read up on > Javagroup.  It might not be a probl

Re: sync cayenne cache in two web apps

2009-07-29 Thread Mike Kienenberger
Before you make your own custom solution, you might want to read up on Javagroup. It might not be a problem to use it in your environment. The main page starts off with this: http://www.jgroups.org/ == JGroups is a toolkit for reliable multicast communication. (No

Re: sync cayenne cache in two web apps

2009-07-29 Thread Mike Kienenberger
Sorry. I didn't see the part on multicasting. After looking at that article, I suppose you could try to share an actual datacontext, but that's probably not realistic since few apps have only one datacontext. It'll be a bit more complicated, but you should be able to use a custom EventBridge.

Re: sync cayenne cache in two web apps

2009-07-29 Thread Tobias Schoessler
well i am reading this from the documentation: "... At the minimum, JMS setup requires a JMS server running, and subjects for each of the DataDomains to be configured. JavaGroups is peer-to-peer library that is embedded into applications. Default configuration provided by CayenneModeler will work

Re: sync cayenne cache in two web apps

2009-07-29 Thread Mike Kienenberger
I've never set it up, but it's easily configurable. If you don't like the javagroups or JMS methodologies, you can define your own -- I don't know what tomcat app-data-sharing ability is available -- it probably depends on the container, but I don't remember reading about any in the past. However

Re: sync cayenne cache in two web apps

2009-07-29 Thread Tobias Schoessler
Thanks Mike, so the answer is yes, this can only be done using remote notification? is this correct? Isn't there a way to share the cache among two web application scopes without going through the hassle of setting up remote notification? When the two webapps are running on the same physical mac

Re: sync cayenne cache in two web apps

2009-07-29 Thread Mike Kienenberger
Yes, Here's a Cayenne 2.0 document on it: http://cayenne.apache.org/doc20/configuring-caching-behavior.html For 3.0: http://cayenne.apache.org/doc/configuring-caching-behavior.html On Wed, Jul 29, 2009 at 12:46 PM, Tobias Schoessler wrote: > Hi, > > is it possible to sync the cayenne cache of

sync cayenne cache in two web apps

2009-07-29 Thread Tobias Schoessler
Hi, is it possible to sync the cayenne cache of two web applications running in the same tomcat? I observe one web app showing outdated data when the other is committing updates. Both apps are using the same mapping configuration. Do I need to use remote notification for this? thanks Tobias