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".

Reply via email to