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 : Wed Apr 08 2009 - 17:45:40 EDT