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
lawger..mail.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
> <jfbaldwi..arthlink.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
>>
>>
>>
>>
This archive was generated by hypermail 2.0.0 : Fri Apr 10 2009 - 03:10:57 EDT