You can try dataContext.unregisterObjects() or dataContext.invalidateObjects() if you need to keep other things in your DC around. If not, throwing away the DC for a new one is a good approach.
mrg On Mon, Nov 23, 2009 at 10:19 AM, Andreas Hartmann <andr...@apache.org> wrote: > Hi everyone, > > I'm facing the following situation: > > RecipientSet has many Recipients > > A large number of Recipient objects are imported in a single transaction. > The changes are committed e.g. every 100 recipients. Nevertheless the > Recipient objects are kept in the heap, and eventually an OutOfMemoryError > occurs. > > I have the feeling that the Recipient objects cannot be garbage-collected > because of the relationship references from the RecipientSet. I didn't find > any other references to the Recipient objects. > > Is it possible to tell Cayenne not to keep the references, or is there any > other way to handle this issue? Do I have to create a new data context after > the changes are committed, starting with a fresh RecipientSet? > > Thanks a lot in advance for any hints! > > Best regards, > Andreas > > > -- > Andreas Hartmann, CTO > BeCompany GmbH > http://www.becompany.ch > Tel.: +41 (0) 43 818 57 01 > >