Another possible solution is to create Value Objects and serialize them...

Dave

---
Dave Hodson 
MessageCast, inc.
Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
www.messagecast.net


> -----Original Message-----
> From: Jesse Alexander (KADA 11) [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, July 14, 2002 10:56 PM
> To: Struts Users Mailing List
> Subject: RE: Problem with session ojects: memory size, updates
> 
> 
> Hi Sandra,
> 
> I prefer to remove the objects from the session as soon as I can 
> declare that they are not usefull anymore.
> EG.: In action_1 I build a model-object, use it in jsp_1 and
> process the users action in action_2. If the usecase is finished here,
> I remove the object from the session.
> 
> As for session size: The 4kB recommendation comes from servers that
> support clustering. Because the session must be propagated to all
> members of the cluster, it should be kept as small as possible.
> We have a few application running with substantial numbers of 
> concurrent
> users that can have up several megabytes of session-data. If 
> the usecase
> needs it, do it. Often we have the case that a few users need lots of 
> session data, and most users just a few bytes...
> Ok for us session-data is used, because our persistance level is on a 
> CORBA-backend host and we have no jdbc on our midrange. Therefor we 
> calculate it is cheaper to a few Gig of memory to our servers in order
> to save on network-data-transfer.
> 
> hope this helps
> Alexander
> 
> -----Original Message-----
> From: Heligon Sandra [mailto:[EMAIL PROTECTED]]
> Sent: Freitag, 12. Juli 2002 13:11
> To: 'Struts Users Mailing List'
> Subject: RE: Problem with session ojects: memory size, updates
> Importance: High
> 
> 
> Thanks John for your response,
> 
> I have already read the message
> http://www.mail-archive.com/[email protected]/msg
> 34592.html
> but I would like to have more details with real examples. 
> I believe that the best way is to try.
> I read that objects in the session must be removed unlike the request
> objects. 
> Is it good to do that when the application invalidates the session ?. 
> Because we save objects in the session in order to access 
> data during all
> the session life.  
> 
> I would like to have advices or tricks for updating and 
> looking up session
> objects (JavaBeans and not EJB).
> Imagine I have the following business objects model:
> 
> Class A composed of several instances B, each B item can be 
> composed of
> several C instances. (nested beans).
> If the list of each sub-beans is variable, must I use dynaBean ? 
> 
> Imagine the user make a request about the instance B2, I get data
> information
> and store the JavaBean B2 in the HttpSession.
> Later the user makes an other request and the B4 instance is 
> required, I
> store
> B4 in the HttpSession.
> 
> Then two problems:
> 1. The last request needs to get A instance, I get A1 but 
> before saving A1
> I have to test if A1 is composed of B4 or/and B2 in order to 
> remove objects
> from
> the HttpSession. Then I store A1 in the HttpSession.
> It is very complicated, isn't it? What are the others 
> solutions to store and
> look up "nested beans" ?
> 
> 2. The WebServer receives a data change notification, in this 
> case how can I
> look up all active sessions and all session objects of each session to
> update
> the JavaBeans which changed?
> How must I do to be sure that Actions or JSP pages don't 
> access data during
> update?
> 
> Thanks
> Sandra
> 
> -----Original Message-----
> From: Jon.Ridgway [mailto:[EMAIL PROTECTED]]
> Sent: 12 July 2002 11:47
> To: 'Struts Users Mailing List'
> Subject: RE: Problem with session ojects: memory size, updates 
> 
> 
> Hi,
> 
> Your English is a hell of a lot better than my French...Your 
> question is one
> that comes up a lot on the list try a search at:
> 
> http://www.mail-archive.com/[email protected]
> 
> for 'session size'. One pertinent post is:
> 
> http://www.mail-archive.com/[email protected]/msg
> 34592.html
> 
> In short, the answer to what should go in the session depends 
> on how your
> application will be used. If you expect a *very* high number 
> of concurrent
> users your session should be under 4k (taken from iAS, WebLogic and
> WebSphere docs, white papers etc). 
> 
> It will also depend on your hardware, how much RAM is 
> available, network
> bandwidth, database size/speed etc. If you can predict the 
> highest level of
> concurrent users, multiple your maximum session size by this. 
> The result
> will be the amount of RAM taken up by all the sessions put 
> together, if you
> have sufficient RAM to handle this and all over requirements, then the
> session size is not an issue.  Note however that the number 
> of users can
> explode unexpectedly, so the best practice recommendation is 
> to keep session
> size as small as possible. 
> 
> As for the speed of looking up objects from the session, this 
> will depend on
> your app server, when clustering some app servers will store 
> the session in
> a db or other persistent store, lookups in this case are relatively
> expensive. If you are not clustering, I wouldn't worry about 
> the speed of
> the lookup (even if you are I wouldn't worry about it that 
> much - its not a
> bottle neck I've ever come across.)
> 
> Jon Ridgway
> 
> 
> -----Original Message-----
> From: Heligon Sandra [mailto:[EMAIL PROTECTED]] 
> Sent: 11 July 2002 15:12
> To: '[EMAIL PROTECTED]'
> Subject: Problem with session ojects: memory size, updates 
> 
> 
>       Sorry, my english level isn't very good.
> 
>       I read that the Struts framework doesn't make (oblige) 
>       to use one particular model implementation (EJB, JavaDataObject,
> JavaBean, ...).
>       But the JavaBean solution is understood or greatly recommended,
> isn't it ?
>       Because struts uses JSP to display data and JSP pages 
> use JavaBean
> tags.
>       If  we work whit XML representations of  remote 
> business objects, is
> it better to
>       use struts XSL tags rather than generate JavaBean from the XML
> description ?
>       The XSL solution requires to know XSL tags and  is 
> slower and more
> complex.
>       With JavaBean solution I am frightened having memory or 
> request time
>       problem.
>       The user does a request, the selected Action gets 
> business data from
> the
>       enterprise tier, generates one or several JavaBean instances and
> stores the JavaBean 
>       in the HttpSession. 
>       But the HttpSession size will grow quickly.
>       It is difficult to know when we have to store data in 
> request scope
> or session scope.
>       Has somebody advices about this dilemma? 
>       I am tending to put data systematically in HttpSession 
> in order to
> reduce network traffic if the user
>       ask again this page.
>       What is the max size of the session objects ? 
>       If we user rights on the business objects, we will have the same
>       JavaBean in several HttpSessions.
>       What do you think about this problem ? 
>       
>       A last question if we have numerous session objects, 
> when we will
> have to update one
>       of them it will be very slow to find it in the list.
>       Do you have advices about that ?
>       Is the JavaBean/HttpSession solution realistic with "real-time"
> data?
> 
>       Thanks a lot in advance. 
>       
>        
>       
> 
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> 
> 
> The contents of this email are intended only for the named 
> addressees and
> may contain confidential and/or privileged material. If 
> received in error
> please contact UPCO on +44 (0) 113 201 0600 and then delete the entire
> e-mail from your system. Unauthorised review, distribution, 
> disclosure or
> other use of this information could constitute a breach of 
> confidence. Your
> co-operation in this matter is greatly appreciated. 
> 
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> 

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to