Re: java.lang.outofmemory
Re: java.lang.outofmemory
- Subject: Re: java.lang.outofmemory
- From: Art Isbell <email@hidden>
- Date: Tue, 7 Mar 2006 13:54:58 -1000
On Mar 7, 2006, at 1:39 PM, Paul Lynch wrote:
Snapshots are stored at a lower level than editing context, so they
won't be released.
Your statement seems to contradict <http://developer.apple.com/
documentation/WebObjects/WhatsNew5.2/index.html>:
"The memory allocated for the database row-level snapshots that
corresponds to garbage-collected EOEnterpriseObjects is released some
time after the EOEnterpriseObjects have been garbage collected.
Although generally unnecessary, you can use processRecentChanges to
force an EOEditingContext to decrement the snapshot reference count
on those snapshots that are no longer needed. EODatabase still holds
strong references to row-level snapshots and maintains a reference
count for each row and its associated EOGlobalID object."
I forget where they are stored, but it's possibly the parent object
store.
EODatabase
If you're using the default object store strategy, then all
sessions will be sharing the same parent, and snapshots may be
retained.
The only snapshots retained should be those referenced by objects in
editing contexts other than the one being dereferenced after the
fetched objects have been processed. But those objects fetched into
the temporary editing context being used in this case and that
haven't been fetched into any other editing context should be free
when their editing context is dereferenced (well, when Java's garbage
collector gets around to it). After these objects are freed, their
snapshots should be free (again, when Java's garbage collector gets
around to it).
Aloha,
Art
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden