Hi Michael,
Michael Gentry schrieb:
> 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.
DataContext.invalidateObjects() seems to have the desired effect. I have
to invalidate all objects, including the RecipientSet object which holds
the references to the Recipient objects. I'll do some testing if
everything still works as expected :)
Thanks a lot for your reply!
Best regards,
Andreas
>
> mrg
>
> On Mon, Nov 23, 2009 at 10:19 AM, Andreas Hartmann <andrea..pache.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
>>
>>
>
-- Andreas Hartmann, CTO BeCompany GmbH http://www.becompany.ch Tel.: +41 (0) 43 818 57 01
This archive was generated by hypermail 2.0.0 : Mon Nov 23 2009 - 12:13:18 EST