From: Chuck H. <ch...@gl...> - 2009-07-31 22:13:10
|
On Jul 31, 2009, at 2:49 PM, Ray Kiddy wrote: > On Jul 30, 2009, at 7:40 PM, Paul Hoadley wrote: >> On 31/07/2009, at 10:38 AM, Lachlan Deck wrote: >>> On 31/07/2009, at 10:41 AM, Paul Hoadley wrote: >>> >>>> OK, I have to ask... >>>> >>>> On 31/07/2009, at 5:01 AM, Timo Hoepfner wrote: >>>> >>>>> I use it all the time. As Chuck said already, mostly to pass >>>>> objects >>>>> between layers that shouldn't know of each other. First and >>>>> foremost >>>>> the current user. >>>> >>>> Why are people using ERXThreadStorage to store the current user? I >>>> store that in Session, or a superclass. Is that a bad idea? >>>> >>>> Sheesh. Just when I thought I was no longer a noob. >>> >>> Cookies can outlive sessions, I avoid creating sessions unless I >>> need it (i.e., utilising direct-actions stuff) >> >> Got it. Thanks. >> >> >> -- >> Paul. >> > > Well, and it is probably worth it to keep in mind that the original > question was "how do you use ERXThreadStorage?", not "how _should_ > you use ERXThreadStorage?". > > I'm looking for a "Best Practice" in what is being described here, > and I am not seeing one. But then, one solves a problem how one > decides to solve it at some moment, not how it is theoretically best > to solve it. Best Practice: Use ThreadLocal storage to pass context specific values between architectural layers when specific API to do this does not exist. Use ThreadLocal to communicate execution context information to objects running in that thread. -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects |