Right. Also, most web servers (this is what we're talking about,
Servlets/JSP, right?) will create even less instances of the servlets
than usual, so I wouldn't share the IC between instances of the class.
If what you're running are Classes withing the EJB Container, my opinion
is the same as with EJBs.

HTH,

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: Anamitra Bhattacharyya
> [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, November 17, 2002 9:14 PM
> To: Juan Pablo Lorandi; [EMAIL PROTECTED]
> Subject: Re: InitialContext caching
>
>
> 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