Thank you! The problem however is the following.

Assuming I have 30,000 members online at the same time,
10,000 belong to group A,
10,000 belong to group B,
and 
10,000 belong to group C.

I would then keep in memory 10,000 instances of 
configuration data for group A people,
10,000 for group B people data and 10,000 for group C people
related data.

I only want to have 1 instance of the data of group A in memory,
1 for B and 1 for c.


Assuming it is 1kbyte of data per configuration group data it would be the
difference between 3 kbytes in memory altogether as every group
would share the data and 90 Mbytes where every single member of the 10,000
people keeps copy of its group data.

Do you know what I mean ?

Sarah
> --- Urspr�ngliche Nachricht ---
> Von: Pablo Ruggia <[EMAIL PROTECTED]>
> An: Tapestry users <[email protected]>
> Betreff: Re: ThreadLocal example pleeeeease!
> Datum: Tue, 31 May 2005 21:50:34 -0300
> 
> Yes, it's possible.
> Personally, I put this logic in setupForRequest method of my engine.
> I created a class, UserContext, like this:
> 
> public class UserContext {
> 
>     static ThreadLocal _visitLocal = new ThreadLocal();
> 
>     public static Object getVisit() {
>         return (Visit) _visitLocal.get();
>     }
> 
>     public static void setVisit(Object visit) {
>         _visitLocal.set(visit);
>     }
> }
> 
> 
> And then, in setupForRequest:
> 
> protected void setupForRequest(RequestContext context) {
>       if(getVisit() !=null)
>             UserContext.setVisit(getVisit());
> }
> 
> NOTE: getVisit() in baseEngine, do not create the visit object, like
> the Page does.
> 
> 
> So, anywhere you can put:
> 
> UserContext.getVisit().
> 
> The same you can do with Global object.
> 
> Let me know if that helped you.
> 
> 
> 
> 
> On 5/31/05, Hensley, Richard <[EMAIL PROTECTED]> wrote:
> > Sarah,
> > 
> > Do you have a Visit?
> > 
> > This sounds like session specific information that is normally stored in
> the
> > Visit. I would consider constructing a method in my Visit that knows how
> to
> > navigate the global object correctly.
> > 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> > 
> > Sent: Tuesday, May 31, 2005 9:49 AM
> > To: [email protected]
> > Subject: ThreadLocal example pleeeeease!
> > 
> > Could anyone of you post a quick example how to correctly
> > use ThreadLocal within a Tapestry page and a Tapestry component?
> > 
> > My global object currently is a map of group data and the key is the
> group
> > key. Different page getter methods need parameters that is derived from
> the
> > group data .....
> > 
> > E.g. administrator is on:
> > 
> > admin.domain.com
> > 
> > moderators on moderators.domain.com
> > 
> > users on www.domain.com
> > 
> > guests on guests.domain.com
> > 
> > a method that is called getMenuOptions should retrieve the menu options.
> > 
> > The menu can contain 4 different kinds of data. So it is all in a global
> map
> > and the database is only queried once.
> > 
> > But this leads to having to parse the map all the time
> > the method getMenuOptions or any other method that will indirectly call
> it,
> > is called.
> > 
> > and I want to sort of shift it into some sort of local variables to be
> able
> > to directly access it.
> > 
> > Is that possible using ThreadLocal ? If so, how ?
> > 
> > Thank you!
> > 
> > ---------------------------------------------------------------------
> > 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]

Reply via email to