Re: Large number of EventManager threads causing OutOfMemoryException

2010-05-02 Thread Victor Leung
Hi Andrus, Thank you -- you've hit the nail right on the head! In our web tier, we've been starting up a new ClientChannel when creating each session-specific CayenneContext. I've since changed the code so that all CayenneContexts are now created using a shared ClientChannel instance (Singleton p

Re: Large number of EventManager threads causing OutOfMemoryException

2010-04-30 Thread Andrus Adamchik
Or actually, client can be a problem as well. Each ClientChannel that you create would start an EventManager. So you may want to do ClientChannel.getEventManager().shutdown() before a ClientChannel goes out of scope. Andrus On May 1, 2010, at 1:09 PM, Andrus Adamchik wrote: I don't think

Re: Large number of EventManager threads causing OutOfMemoryException

2010-04-30 Thread Andrus Adamchik
I don't think running things on the same server vs. separate server is an issue. Hw is your business tier implemented though? Is that an EJB or a web app? Something in its lifecycle makes Cayenne start multiple times and this is what you need to figure out. Andrus On Apr 30, 2010, at 11:14

Re: Large number of EventManager threads causing OutOfMemoryException

2010-04-29 Thread Victor Leung
Hi Andrus, Thank you for your prompt and insightful reply! Looking through the thread dumps as suggested, it definitely seems like we are starting multiple Cayenne stacks / EventManagers -- on point (1), the number after the last dash is rather low, and on point (2), the address of the lock are p

Re: Large number of EventManager threads causing OutOfMemoryException

2010-04-29 Thread Andrus Adamchik
Hi Vic, There are two possible explanations - EventManager leaking threads (seems rather unlikely) or you are starting multiple Cayenne stacks (or create multiple EventManagers as a side effect of some other action). A few ways to detect this from a thread dump: 1. Check the names of the

Large number of EventManager threads causing OutOfMemoryException

2010-04-29 Thread Victor Leung
Hi all, We are using Cayenne 3.0RC3. Our application has a web tier and a business / data access tier (both deployed on Glassfish v2.1.1). Communication between the two tiers is through the use of Cayenne Web Service. We have been encountering OutOfMemoryException after a couple of days of routin