On 10/30/07, Esteban Franqueiro <[EMAIL PROTECTED]> wrote: > Hi Thomas. > Regarding this: > > >> who has the hard reference to the data identifier > > > > The chain is: > > PropertyImpl -> InternalValue -> BLOBInDataStore -> DataIdentifier > > Who holds on to the PropertyImpl? Is this reference removed before or after > the save? > Im asking because while testing the code I came up with the following > scenario: > > JR | GC > ------------------------|--------------------- > add properties | > | set cut-point as part of the next scan / mark > cycle > | (won't mark recently added properties, > because they're unsaved) > save | > (evict) | > | deleteUnused() > > (evict): identifiers evicted from the weak hash map > > Is it possible that the identifiers get removed from the weak hash map > immediatly after the save > operation? Or the identifiers can't be removed because a hard reference to > them (ie, to the > PropertyImpl object) is kept somewhere in the Jackrabbit core? When is this > reference removed?
there are no hard references to ItemImpl instances kept within jackrabbit core. ItemImpl instances are automatically collected as soon as the client code releases the last refererence. see o.a.j.c.ItemManager#itemCache for details. cheers stefan > In testing, this is possible to do by calling the clearInUse() method you > provided. But what about a > real scenario? > I hope you can understand me. If not, I'll try to explain better. > Regards, > > Esteban Franqueiro > [EMAIL PROTECTED] > > > Notice: This email message, together with any attachments, may contain > information of BEA Systems, Inc., its subsidiaries and affiliated > entities, that may be confidential, proprietary, copyrighted and/or > legally privileged, and is intended solely for the use of the individual or > entity named in this message. If you are not the intended recipient, and have > received this message in error, please immediately return this by email and > then delete it. >
