Hi Phillipe,
this is great news. I put more comments into your email. Thanks for your effort,
Miro Halas
-----Original Message-----
From: Philippe Durieux [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 21, 2001 4:33 AM
To: jonas-users
Subject: Proposal for Jonas Container Improvement
Hi all,
I've read all your mails about tuning JOnAS for improvement,
thanks to all contributors. I was thinking to modify JOnAS
that way, to take into account your remarks:
Add in the JOnAS specific deploymenty descriptor 3 new tags:
For each entity bean, we could define:
shared: Y/N
poolmax: max nb of instances in memory
[Halas, Miroslav] Just one comment. Please avoid pitfall which was present in Weblogic (I think 4.5.1). The poolmax is just suggested value, but you have to be able to actually create and manage more instances than specified by poolmax. Example where it happens is when you run a finder which returns more values than poolmax. There was a bug in Weblogic where WLGC increased the size of the cache but still threw an exception that the size is full.
poolmin: min nb of instances preallocated
Then, we could change the policy when beans are not shared, by
keeping the bean instance "ready" (cached) and pre allocate at
bean loading the min nb of instances in the pool of available
instances. THe poolmax value could be used to limit the nb of instances
in memory, this for scalability.
If we analyse more deeply the code, this could be something like
this:
getContext():
if already mapped -> OK
else if instance in the pool: get it and read state.
else if count < poolmax: create a new one and read state.
else clean instances not used to decrease count
and then, create a new one...
[Halas, Miroslav] This will be an interesting problem because we would like to release those instances which are not used often so there will need to be some either usage count, last used time, round robin like mechanism
releaseContext():
if bean shared: store state and put instance in pool.
else keep it "ready" for use (but releasable if count
become too big).
Actually, it's more complicated, because we have to deal with
transaction/no transactions, but it seems that all this could
be done. What do you think ?
[Halas, Miroslav] I can almost guarantee that this should increase performance f our application, it will be interesting to see how effective it will be.
--
Philippe Durieux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bull - 1 rue de Provence - 38432 Echirolles Cedex France
[EMAIL PROTECTED]
-> Download our EJBServer at http://www.evidian.com/ejb <-
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".
