Thanks for suggestions. I can see using JMS is an elegant solution! However, our project does not have JMS, and I do not expect the management will approve the use of JMS only because of the messaging need to synchronize the caches.
For this project, I have to find another alternative solution. Thanks again. Jeff -----Original Message----- From: Bill Wang [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 5:59 PM To: jdjlist Subject: [jdjlist] RE: Caching of semi-static data across webapps I agree with Dave. Since you are using WebSphere app server, the JMS solution is a better choice. You can use the publisher and subscriber mechanism on a topic. You can have your webapps to subscribe with a topic. Once one webapp triggers the load, it will notify a controller which triggers your JMS to publish the latest translation to the topic. Whoever subscribes the topic will get the lastest update. In your case, it will be your cloned webapps. Hope this helps. "Dave Hanson" <[EMAIL PROTECTED]> on 03/04/2003 04:59:51 PM Please respond to "jdjlist" <[EMAIL PROTECTED]> To: "jdjlist" <[EMAIL PROTECTED]> cc: Subject: [jdjlist] RE: Caching of semi-static data across webapps The requirement seems to be implementation of a notification method. The DB solution, though a bit brute force, will work. A more elegant solution would be to implement a permanent queue message via JMS on a subject. All of the start-up servlets would populate from the database and block for a message based on the subject. Once the correct message was received, the database refresh could be accomplished. Additional granularity could be added to limit the refresh based on message content; i.e. only refresh the German translation. J two cents added -----Original Message----- From: Yan, Hong [IT] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 4: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 ******************* PLEASE NOTE ******************* This E-Mail/telefax message and any documents accompanying this transmission may contain privileged and/or confidential information and is intended solely for the addressee(s) named above. If you are not the intended addressee/recipient, you are hereby notified that any use of, disclosure, copying, distribution, or reliance on the contents of this E-Mail/telefax information is strictly prohibited and may result in legal action against you. Please reply to the sender advising of the error in transmission and immediately delete/destroy the message and any accompanying documents. Thank you. --- 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
