The proposed way is to use JGroups or JMS for synchronization: http://cayenne.apache.org/doc/configuring-caching-behavior.html
2009/4/10 Lawrence Gerstley <lawg...@rcn.com> > So, I have the same question here--multiple thick clients (desktop RCP > applications), each with a DataContext tied to the same backend, and > potential database access (direct or otherwise) from other toolsets out of > my control. Is there a recommended strategy for refreshing each applications > singleton DataContext to stay in synch, or manually a supplying refresh > command to the DataContext to periodically update (and, if so, with > what/how)? > > Kind regards, > > Lawrence > =================================== > Lawrence Gerstley, Ph.D. > PSMI Consulting > lawg...@gmail.com > Cel: (415) 694-0844 > > > On Apr 8, 2009, at 4:22 PM, Malcolm Edgar wrote: > > Hi Joe, >> >> Your singleton cache is going to need to be update periodically if >> there are changes to the under lying database from other sources. >> >> regards Malcolm Edgar >> >> On Thu, Apr 9, 2009 at 7:45 AM, Joe Baldwin <jfbald...@earthlink.net> >> wrote: >> >>> I *think* this is a life-cycle question, but there may be more to it. >>> >>> Proposed Design: >>> >>> 1. Standard Web page JSP using Tomcat server. >>> 2. One of the JSP's accesses a singleton. >>> 3. The singleton accesses and stores a database field via Cayenne >>> (presumably when the class is initially loaded) and should never need to >>> access the field again. >>> 4. I would prefer it if the database field change would be propagated to >>> the >>> singleton upon the next new client-Session. >>> >>> Problem >>> 1. Here is the odd bit: the database field can be modified via direct >>> access >>> to the database (SQL, etc). >>> 2. Cayenne appears not to see this change even when a new client-Session >>> is >>> initialized. >>> 3. I can *force* the singleton to recognize the change by restarting >>> Tomcat >>> (but that is totally lame :) ) >>> 4. Unless I have made a mistake (which is possible), the singleton should >>> be >>> only associated with JSP session scope. But if I am wrong, this could be >>> the problem. >>> >>> Obviously, I have a misunderstanding about either Cayenne or Tomcat >>> caching >>> or perhaps its a combo of the two. It appears from my tests that the >>> singleton class may be constructed the first time after Tomcat is >>> restarted >>> and then remains persistent even across different sessions. >>> >>> Are there any suggestions as to a simple design in which my singleton >>> forces >>> re-initialized (i.e. refresh the Cayenne object from the DBMS data) upon >>> each new session? >>> >>> Thanks, >>> Joe >>> >>> >>> >>> >>> >