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

Reply via email to