Used Instances
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
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