You could have each clone attempt to notify the others.  If you do the Database flag when to you reset it? You would almost need a flag for each clone. You could have a modify timestamp.  You could make a cache server that sites beside/between the clones and the Database.
 

James Stauffer

-----Original Message-----
From: Yan, Hong [IT] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 04, 2003 3:29 PM
To: jdjlist
Subject: [jdjlist] Caching of semi-static data across webapps

James :
 
Thanks for sharing the ideas. As this is getting interesting, I would like to explain what I do, and the problems that I have in more detail :
 
I have a Singleton object that keeps several hashtables (with Spanish/Chinese/Japanese/French/Germany texts and key strings for these texts). These hashtables will be populated a start-up servlet when the webapp starts. JSP pages retrieves the locale texts using keys, so that the web system is translated in user's preferred locale.
 
Let me take a simplified version, I have one WebSphere server with three webapp clones in load balance. My server never stops, so when translators need modify these locale texts, I need to reload the corresponding hashtables.
 
The thing is, on a webapp based system, the translator can trigger a reload, and this reload happens in only one of the clones, and the other two clones are not refreshed. Users hitting these two clones are still getting old translation.
 
In a word, in my system, the cached data is semi-static, and need to be reloaded on demand.
 
Right now we are working on possible design approaches to fix this, and we figure one of the followign may do the job:
 
(1) Use a database flag and let the Singleton object keeps on polling this flag. Once flipped, the object will refresh the content.
(2) ...
 
But I assume this should be a common problem to any system with multiple webapps in load balancing, and there should be a systematic solution...Any suggestions are welcome.
 
 
Thanks
 
Jeff
-----Original Message-----
From: James Stauffer [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 04, 2003 3:54 PM
To: jdjlist
Subject: [jdjlist] RE: Caching

We have a servlet that gathers the data about the caches and serializes that info. One servlet connects to the other servlets to get that info and consolidates it.
 

James Stauffer

-----Original Message-----
From: Yan, Hong [IT] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 04, 2003 2:02 PM
To: jdjlist
Subject: [jdjlist] RE: Caching

James:
 
Thanks for the post. I am also interested in caching objects and right now I am having problems in refreshing them - I have three WebSphere sites, each one of them has three webapp clones.
 
How do you manage the caches across sites?
 
Thanks
 
Jeff
-----Original Message-----
From: James Stauffer [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 04, 2003 2:48 PM
To: jdjlist
Subject: [jdjlist] RE: Caching

We have our own internally developed object cache. It uses a hard cache (can't be GC'ed) extended by a soft reference cache. It also has a cache manager servlet and another servlet to manage the caches across machines.  It mostly only caches objects of the following:
 
public interface CacheAble {
  public int getID();
 
  public String getClassName();
 
  public String getDescriptor();
}
If you are interested I can probably give more design details.

James Stauffer

-----Original Message-----
From: Greg Nudelman [mailto:[EMAIL PROTECTED]
Sent: Tuesday, March 04, 2003 12:56 PM
To: jdjlist
Subject: [jdjlist] Caching

We're have a home-grown Java application and would like to introduce some kind of app-level cache manager.  I'm interested if someone has made anything like that -- shareware/custom packages, a study about the size of objects in memory, anything like that.
 
All suggestions welcome. Thanks!
 
Greg
---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk ---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk
---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk ---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk
---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk ---
You are currently subscribed to jdjlist as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
http://www.sys-con.com/fusetalk

Reply via email to