I had a few questions regarding the expireCache method on Database? Please forgive me
if some of them seem elementary.
If you call expireCache on an object that's already loaded, exactly what happens.
Does Castor invalidate the object reference or does it invalidate the cache entry?
Is this affected by access mechanism ("read-only", "shared", etc) that the object was
loaded under?
Consider the case where an object is loaded is shared access mode, if the cache is
expired and then an update is called on the expired object what happens? Is an
ObjectModifiedException thrown, or is the cached version overwritten?
Can you expire the cache entry for an object that is loaded for exclusive access (e.g.
an object that's about to be persisted)?
Can you expire the cache of an object that's involved in a transaction? If so how is
this handled?
The javadocs of expireCache suggest that the cache of dependent objects are
automatically expired if their parent object is expired; but only if the parent object
was expired explicitly (i.e. class type and object id specified). If the parent
object was expired implicitly, (i.e. the parent object is of type A, and the cache of
all type A objects was expired), the dependent objects will need to have their caches
expired separately. Is this understanding correct?
I expect to be able to answer some of these questions myself by review the code
implementation and through experimentation; however this can costly timewise. If
anyone has this knowledge readily available (Vincent, Bruce, et al) it would be
greatly appreciated. Rest assured, that all I learn will be shared as well.
Vincent Techeira
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev