cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Malcolm Edgar <malcolm.ed...@gmail.com>
Subject Re: Lifecycle Design
Date Wed, 08 Apr 2009 23:22:35 GMT
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 <jfbaldwin@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
>
>
>
>

Mime
View raw message