Hi Juan thanks for the reply. I just want to tell one thing - everyone in this thread answered the question looking from EJB perspective - like in Juans mail caching the context in an EJB. I was talking of a scenario where some non EJB clients running within the server are accessing EJBs as well as some JMS administered object like Queues/Topics via the InitialContext lookups. So the client in a not an EJB. With this in mind and if what Gene and other people said [ie if I am doing only lookups then thread problems wont arise] - I think I can cache the context instances - right? Anamitra --- Juan Pablo Lorandi <[EMAIL PROTECTED]> wrote: > Yes, thread safety is one, clustering issues also > impact that, and > transactional behavior *may* be different. Now, > since the InitialContext > may become stale, that means with a single IC per > instance, a number of > session beans will try to execute methods and fail. > Those won't make it > back into the pool, and will be replaced by new > instances, end of story. > The failover is simple. > > If you share the ic among all instances of a class, > then they all fail > or all succeed. That means, problems may persist > until the app server is > restarted. These kind of problems are difficult to > detect while > developing/testing and are a pain in the arse to fix > afterwards. Now, > you DON'T want to code synchronized blocks: that's > going to be worse > performance wise than continous creation/destruction > of an > InitialContext instance. And keeping a single > instance of InitialContext > among all instances of a class isn't a performance > optimization, but a > memory-footprint optimization. Since your EJBs are > going to be pooled > anyway, footprint shouldn't be an issue;note that > while instantiation is > pretty straightforward, too, GC is one of the major > performance > bottlenecks in J2EE aplications. J2EE applications > that reuse object > instances perform better on most JVMs. Some JVMs, > like JRockit, have > more aggressive GC implementations that make them > more suitable for > intensive applications. I'm not commercially linked > to JRockit. > > What I would do if I wanted a lessened footprint is > to encapsulate the > optimization with a Factory pattern, should I want > to 'bail out' of > using a single instance everywhere. Nevertheless, > sharing an > InitialContext everywhere doesn't strike me as an > important > optimization. Even caching it may yield marginal > results depending on > the JVM you deploy into. That being said, my code > usually caches the > InitialContext, and all the Home instances my beans > use. The latter is > even more dangerous if you're not in complete > control of how your app is > going to be deployed. > > > My 2c, > > > Juan Pablo Lorandi > Chief Software Architect > Code Foundry Ltd. > [EMAIL PROTECTED] > > Barberstown, Straffan, Co. Kildare, Ireland. > Tel: +353-1-6012050 Fax: +353-1-6012051 > Mobile: +353-86-2157900 > www.codefoundry.com > > > > -----Original Message----- > > From: Eric Ma [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, November 14, 2002 3:16 PM > > To: Juan Pablo Lorandi > > Subject: Re: InitialContext caching > > > > > > > > What is the the reason behind dedicating one > InitialContext > > per EJB? Are you worried about thread safety? > > > > Eric Ma > > > > > > -- > > > > This e-mail may contain confidential and/or > privileged > > information. If you are not the intended recipient > (or have > > received this e-mail in error) please notify the > sender > > immediately and destroy this e-mail. Any > unauthorized > > copying, disclosure or distribution of the > material in this > > e-mail is strictly forbidden. > > > > > > > > =========================================================================== > To unsubscribe, send email to [EMAIL PROTECTED] > and include in the body > of the message "signoff EJB-INTEREST". For general > help, send email to > [EMAIL PROTECTED] and include in the body of the > message "help". >
__________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - Let the expert host your site http://webhosting.yahoo.com =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff EJB-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
