Hi David, There have been a few changes in PersistenceProviderImpl. One was to make the non-finalizing BrokerImpl the default (must be overridden in your config) another that might be interesting was adding a pool of EntityManagerFactories.
>From what I've seen the EMF pool is not used by default, but it's possible that the AbstractEntityManagerFactoryBean is setting it (the property is named EntityManagerFactoryPool in case that helps). I took a quick pass at setting the pooling property and the only way I saw it take effect was to pass it in as a JVM arg (might be something in my eclipse env though - and I'm on 2.0.0-SNAPSHOT ATM). Hope this gives you a starting point, if not keep replying and we'll try to help -mike On Mon, Jul 13, 2009 at 8:00 PM, David Minor <[email protected]> wrote: > Hi Mike, > > Nothing else has changed. The application extends spring 2.0's > AbstractEntityManagerFactoryBean class (apparently so that the > persistence.xml file can be named something different). > > I notice it is checking the return type of > AbstractEntityManagerFactoryBean's getPersistenceProvider() for an > instance of openjpa's PersistenceProviderImpl, and doing something > different depending on whether it finds it or not. Has anything > changed with regards to this class? > > > -----Original Message----- > > From: Michael Dick [mailto:[email protected]] > > Sent: Monday, July 13, 2009 12:49 PM > > To: [email protected] > > Subject: Re: Memory leak > > > > Hi David, > > > > FinalizingBrokerImpl will close itself and free resources when it's > > GC'ed. > > It sounds like something else is holding on to a lot of references to > > FBImpl (I'd guess something changed "upstream"). > > > > One cause is if the application creates a large number of EntityManagers > > and doesn't close them (or creates a large number of EMFactories which > > don't get closed since closing an EMF will close its EMs). > > > > Did anything else change or did you just upgrade OpenJPA versions? > > > > -mike > > > > On Mon, Jul 13, 2009 at 11:34 AM, David Minor <[email protected]> > > wrote: > > > >> Upgrading openjpa from 1.0.1 to 1.2.1 seems to introduce a memory leak > > > >> in our application -- leaving the server running for a few days > >> results in OOM errors (there are quartz tasks making simple openjpa > >> selects during this time). A heap dump reveals > >> org.apache.openjpa.kernel.FinalizingBrokerImpl as the dominant object, > > > >> according to Eclipse's memory analysis plugin. > >> > >> Does anyone have an idea of what might be causing this? > >> > >> -- > >> _____________ > >> David Minor > >> > > > > > > > > > > > > -- > _____________ > David Minor >
