public class EntryFactoryImpl extends Object implements EntryFactory
EntryFactory implementation to be used for optimistic locking scheme.| Modifier and Type | Field and Description |
|---|---|
protected boolean |
clusterModeWriteSkewCheck |
protected boolean |
useRepeatableRead |
| Constructor and Description |
|---|
EntryFactoryImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected MVCCEntry |
createWrappedEntry(Object key,
CacheEntry cacheEntry,
InvocationContext context,
Metadata providedMetadata,
boolean isForInsert,
boolean forRemoval,
boolean skipRead) |
void |
init() |
void |
injectDependencies(DataContainer dataContainer,
Configuration configuration,
CacheNotifier notifier) |
MVCCEntry |
wrapEntryForClear(InvocationContext ctx,
Object key)
Used for wrapping individual keys when clearing the cache.
|
CacheEntry |
wrapEntryForDelta(InvocationContext ctx,
Object deltaKey,
Delta delta)
Used for wrapping Delta entry to be applied to DeltaAware object stored in cache.
|
MVCCEntry |
wrapEntryForPut(InvocationContext ctx,
Object key,
InternalCacheEntry icEntry,
boolean undeleteIfNeeded,
FlagAffectedCommand cmd,
boolean skipRead)
Used for wrapping a cache entry for addition to cache.
|
CacheEntry |
wrapEntryForReading(InvocationContext ctx,
Object key)
Wraps an entry for reading.
|
MVCCEntry |
wrapEntryForRemove(InvocationContext ctx,
Object key,
boolean skipRead)
Used for wrapping a cache entry for removal.
|
MVCCEntry |
wrapEntryForReplace(InvocationContext ctx,
ReplaceCommand cmd)
Used for wrapping a cache entry for replacement.
|
protected boolean useRepeatableRead
protected boolean clusterModeWriteSkewCheck
public void injectDependencies(DataContainer dataContainer, Configuration configuration, CacheNotifier notifier)
public void init()
public final CacheEntry wrapEntryForReading(InvocationContext ctx, Object key) throws InterruptedException
EntryFactoryCacheEntry 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.wrapEntryForReading in interface EntryFactoryctx - current invocation contextkey - key to look up and wrapInterruptedException - when things go wrong, usually trying to acquire a lockpublic final MVCCEntry wrapEntryForClear(InvocationContext ctx, Object key) throws InterruptedException
EntryFactorywrapEntryForClear in interface EntryFactoryInterruptedExceptionpublic final MVCCEntry wrapEntryForReplace(InvocationContext ctx, ReplaceCommand cmd) throws InterruptedException
EntryFactorywrapEntryForReplace in interface EntryFactoryInterruptedExceptionpublic final MVCCEntry wrapEntryForRemove(InvocationContext ctx, Object key, boolean skipRead) throws InterruptedException
EntryFactorywrapEntryForRemove in interface EntryFactoryskipRead - if true, if the key is not read during the remove operation. Only used with Repeatable
Read + Write Skew + Versioning + Cluster.InterruptedExceptionpublic final MVCCEntry wrapEntryForPut(InvocationContext ctx, Object key, InternalCacheEntry icEntry, boolean undeleteIfNeeded, FlagAffectedCommand cmd, boolean skipRead) throws InterruptedException
EntryFactorywrapEntryForPut in interface EntryFactoryskipRead - if true, if the key is not read during the put operation. Only used with Repeatable Read +
Write Skew + Versioning + Cluster.InterruptedExceptionpublic CacheEntry wrapEntryForDelta(InvocationContext ctx, Object deltaKey, Delta delta) throws InterruptedException
EntryFactorywrapEntryForDelta in interface EntryFactoryInterruptedExceptionprotected MVCCEntry createWrappedEntry(Object key, CacheEntry cacheEntry, InvocationContext context, Metadata providedMetadata, boolean isForInsert, boolean forRemoval, boolean skipRead)
Copyright © 2013 JBoss, a division of Red Hat. All rights reserved.