|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface EntryFactory
A factory for constructing MVCCEntry
instances for use in the InvocationContext
.
Implementations of this interface would typically wrap an internal CacheEntry
with an MVCCEntry
, optionally acquiring the necessary locks via the
LockManager
.
Method Summary | |
---|---|
boolean |
acquireLock(InvocationContext ctx,
Object key)
Attempts to lock an entry if the lock isn't already held in the current scope, and records the lock in the context. |
void |
releaseLock(Object key)
|
CacheEntry |
wrapEntryForReading(InvocationContext ctx,
Object key)
Wraps an entry for reading. |
MVCCEntry |
wrapEntryForWriting(InvocationContext ctx,
InternalCacheEntry entry,
boolean createIfAbsent,
boolean forceLockIfAbsent,
boolean alreadyLocked,
boolean forRemoval)
Wraps an entry for writing. |
MVCCEntry |
wrapEntryForWriting(InvocationContext ctx,
Object key,
boolean createIfAbsent,
boolean forceLockIfAbsent,
boolean alreadyLocked,
boolean forRemoval)
Wraps an entry for writing. |
Method Detail |
---|
void releaseLock(Object key)
boolean acquireLock(InvocationContext ctx, Object key) throws InterruptedException, TimeoutException
ctx
- contextkey
- Key to lock
InterruptedException
- if interrupted
TimeoutException
- if we are unable to acquire the lock after a specified timeout.MVCCEntry wrapEntryForWriting(InvocationContext ctx, Object key, boolean createIfAbsent, boolean forceLockIfAbsent, boolean alreadyLocked, boolean forRemoval) throws InterruptedException
ctx
- current invocation contextkey
- key to look up and wrapcreateIfAbsent
- if true, an entry is created if it does not exist in the data container.forceLockIfAbsent
- forces a lock even if the entry is absentalreadyLocked
- if true, this hint prevents the method from acquiring any locks and the existence and ownership of the lock is presumed.forRemoval
- if true, this hint informs this method that the lock is being acquired for removal.
InterruptedException
- when things go wrong, usually trying to acquire a lockMVCCEntry wrapEntryForWriting(InvocationContext ctx, InternalCacheEntry entry, boolean createIfAbsent, boolean forceLockIfAbsent, boolean alreadyLocked, boolean forRemoval) throws InterruptedException
ctx
- current invocation contextentry
- an internal entry to wrapcreateIfAbsent
- if true, an entry is created if it does not exist in the data container.forceLockIfAbsent
- forces a lock even if the entry is absentalreadyLocked
- if true, this hint prevents the method from acquiring any locks and the existence and ownership of the lock is presumed.forRemoval
- if true, this hint informs this method that the lock is being acquired for removal.
InterruptedException
- when things go wrong, usually trying to acquire a lockCacheEntry wrapEntryForReading(InvocationContext ctx, Object key) throws InterruptedException
CacheEntry
but certain combinations of isolation
levels and the presence of an ongoing JTA transaction may force this to be a proper, wrapped MVCCEntry. The entry
is also typically placed in the invocation context.
ctx
- current invocation contextkey
- key to look up and wrap
InterruptedException
- when things go wrong, usually trying to acquire a lock
|
Google Analytics | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |