Hey
"Lahooti, Hamid" wrote:
> > That's easier said than done. LRU does not help you when a different
> > container updates your bean instance's external representation. Pretty
> > soon your cache is out of date!
> >
> >Yes, if you have multiple JVMs running that's the case.
>
> it doesn't have to be another JVM. Just a legacy application
> (there are a lot of them still around) that updates the entity bean table.
Sorry to be repetitive here (just to make sure it is perfectly clear):
passivation does not affect cache consistency with regard to legacy
applications using the database at the same time as the EJB-server. This
is dealt with by calling ejbLoad at appropriate times (at transaction
start for example).
> >But that doesn't mean every container should throw away each instance as
> >soon as the transaction is completed.
>
> I agree but the products that I have used do exactly that and I am
> trying to find justification as to why they do it.
WLS 4.5.1 doesn't (if you configure it correctly...).
> It isn't about load balancing. It is about the container offering
> cached active bean instance state without guaranteeing that the
> state is a true representation of what is currently in the database
> (and committed). If your instance is kept active beyond transactions,
> when does instance state get refreshed from the database.
As above, in such cases ejbLoad is called upon transaction begin, or to
be very precise: when the instance is first enlisted in the transaction
as a resource.
/Rickard
--
Rickard �berg
@home: +46 13 177937
Email: [EMAIL PROTECTED]
Homepage: http://www-und.ida.liu.se/~ricob684
===========================================================================
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".