neither request nor session. the recommendation was to use the application context (also known as servlet context) This is one context object FOR ALL servlets und users within the same web-application. It would be shard between ALL users of the web-application, so the overhead of keeping it alive even when no user is accessing it, is not exagerated.
Else you will have to program (or search for) a caching mechanism with active object invalidation. As this needs to be perfectly synchronized (attention: not over-synchronized), is is not an easy task. hth Alexander -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Mittwoch, 26. Mai 2004 14:35 To: Struts Users Mailing List Subject: RE: scope and presenting realtime data (fwd) Hi, Thanks for your response... as you rightly pointed out the data is 'near realtime' not exactly REAL-TIME. Yes.. we need to store in the servlet context.. but what needs to be the scope.. if scope is request, than we can show only the current value. if the scope is session, than this bean (storing + polling bean) will be maintained even when there is no user is currently watching the data. Is there anyway to *invalidate* this storage bean if nobody has accessed it in some past N minutes? I am new to struts so this question might be be too simple.. thanks & regards -Ramudu On Wed, 26 May 2004, Andrew Hill wrote: > Why not store the info in the servlet context, using different keys for each > server? > > That way if several users are all monitoring the same server they will be > looking at the same set of data. > > Since the data is being multithreaded you will need to make sure you > synchronize in the appropriate places for which purpose you would probably > implement some kind of bean to store this data in an internal collection. > You would probably want to merge the functionality of your polling bean with > this storeage one, so you would be using one bean instance per server, with > all users sharing these beans simultaneously. > > Id suggest that when the bean is asked to pull data for a particular server > it checks to see that a certain period of time has gone by since the last > poll. If not you wouldnt bother pulling another value to add to the set.(Id > suggest at least a second, and more if you have lots of users). If two users > ask for the information within a few milliseconds if each other there is > little point doing an extra poll. By the time the graph is redrawn and hits > the browser even the most current value will be many milliseconds out of > date anyhow and it doesnt make much difference to a human! > > In terms of 'realtime' presentation you probably dont really want to have > the browsers polling the server too much (though it would be easy to do with > a javascript timer that refreshes the page), as all the requests will add > considerably to your server load (especially since the charts need > redrawing). If your setting a minimum polling period as suggested above you > would probably also want to try and somehow cache the resulting chart images > until such time as new data is available, such that several requests coming > in rapidly (probably from different users) could all be serviced with the > same image and cut the need to spend server time re-rendering the chart. > > Thats just my 2 cents worth though so theres probably many better ways of > doing it. > > hth > Andrew > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Wednesday, 26 May 2004 19:42 > To: [EMAIL PROTECTED] > Subject: scope and presenting realtime data (fwd) > > > Hi, > > Can anyone suggest some approach for this issue. > > thanks & regards > -Ramudu > > > ---------- Forwarded message ---------- > Date: Wed, 26 May 2004 14:52:23 +0530 (IST) > From: [EMAIL PROTECTED] > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: scope and presenting realtime data > > Hi, > > We are developing a web based interface (struts + jsp etc) for realtime > monitoring of server cpu usage. > > We have written a bean that will contact the server and get the current > cpu usage and return that value. I want to plot a line graph (using > jfreechart) with the cpu usage in Y-axis and time in X-axis. The Graph > need to plot the last 'N' values + the current value during each refresh. > > The issue is how to remember these last N values. I do not want to assign > session scope for this object as the end-user might monitor for more than > one servers and several users might be using the system at same time. > > How this situation is typically handled in the Struts+jsp environment. > > thanks & regards > -Ramudu > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]