Used Instances

2000-11-27 Thread Sven van 't Veer

In Orion console, what does 'Used Instances' denote? I'm doing batch
updates to a database (about 20 daily) and about three quarters on
the way, Orion console shows some 59000 used instances of my entity bean
somewhere after that, my application crashes with a DeadlockException
and shows that the nested exception is an OutOfMemoryException. I'm at a
loss here, does Orion actually keep these 59000 entity beans in memory
?? Shouldn't these be pooled ?? (Pooled instances shows 0!!).

I'm currently testing the application and would like to know if there's
any way to have these beans pooled.

The app that does the batch updates is a simple class, it reads the
lines in a file and then calls a session bean (stateless) through either
of two methods (update or remove) update checks for excistence of the
entity, if exists, it sets some values, when a FinderException gets
thrown, it calls ejb.create(). remove finds the bean and calls
ejb.remove().

I read in the specs(9.4.1):
The container can choose to passivate the instance (...) Th container
invokes the ejbPassivate() method when the container wants to
disassociate the instance form the entity object without removing the
entity object.

I've been printing some output to stdout telling me when a bean is
activated and when it's passivated but sofar as I can see,
ejbPassivate() is never called.

Is this some bug in Orion or am I getting mad???

I'm using 1.3.8

sven


-- 
==
Sven E. van 't Veer  
http://www.cachoeiro.net
Java Developer  [EMAIL PROTECTED]
==




Re: Used Instances

2000-11-27 Thread Tim Endres

Could it be that all of your beans are still in a Tx? I do not believe
the beans will be passivated when they are still involved in a Tx. Or
are you invoking a new Tx for each line in your file.

tim

 In Orion console, what does 'Used Instances' denote? I'm doing batch
 updates to a database (about 20 daily) and about three quarters on
 the way, Orion console shows some 59000 used instances of my entity bean
 somewhere after that, my application crashes with a DeadlockException
 and shows that the nested exception is an OutOfMemoryException. I'm at a
 loss here, does Orion actually keep these 59000 entity beans in memory
 ?? Shouldn't these be pooled ?? (Pooled instances shows 0!!).
 
 I'm currently testing the application and would like to know if there's
 any way to have these beans pooled.
 
 The app that does the batch updates is a simple class, it reads the
 lines in a file and then calls a session bean (stateless) through either
 of two methods (update or remove) update checks for excistence of the
 entity, if exists, it sets some values, when a FinderException gets
 thrown, it calls ejb.create(). remove finds the bean and calls
 ejb.remove().
 
 I read in the specs(9.4.1):
 The container can choose to passivate the instance (...) Th container
 invokes the ejbPassivate() method when the container wants to
 disassociate the instance form the entity object without removing the
 entity object.
 
 I've been printing some output to stdout telling me when a bean is
 activated and when it's passivated but sofar as I can see,
 ejbPassivate() is never called.
 
 Is this some bug in Orion or am I getting mad???
 
 I'm using 1.3.8
 
 sven