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