public class EntryFactoryImpl extends Object implements EntryFactory
EntryFactory implementation to be used for optimistic locking scheme.| Constructor and Description |
|---|
EntryFactoryImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected MVCCEntry<?,?> |
createWrappedEntry(Object key,
CacheEntry<?,?> cacheEntry) |
void |
init() |
void |
wrapEntryForExpired(InvocationContext ctx,
Object key,
int segment)
Insert an entry that exists in the data container into the context, even if it is expired
Doesn't do anything if the key was already wrapped
|
CompletionStage<Void> |
wrapEntryForReading(InvocationContext ctx,
Object key,
int segment,
boolean isOwner,
boolean hasLock,
CompletionStage<Void> previousStage)
Wraps an entry for reading.
|
CompletionStage<Void> |
wrapEntryForWriting(InvocationContext ctx,
Object key,
int segment,
boolean isOwner,
boolean isRead,
CompletionStage<Void> previousStage)
Insert an entry that exists in the data container into the context.
|
void |
wrapExternalEntry(InvocationContext ctx,
Object key,
CacheEntry externalEntry,
boolean isRead,
boolean isWrite)
Insert an external entry (e.g.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitexpirationCheckDelaypublic void init()
public final CompletionStage<Void> wrapEntryForReading(InvocationContext ctx, Object key, int segment, boolean isOwner, boolean hasLock, CompletionStage<Void> previousStage)
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 wrapsegment - segment for the keyisOwner - true if this node is current owner in readCH (or we ignore CH)hasLock - true if the invoker already has the lock for this keypreviousStage - if wrapping can't be performed synchronously, only access the invocation context
from another thread after this stage is completepublic CompletionStage<Void> wrapEntryForWriting(InvocationContext ctx, Object key, int segment, boolean isOwner, boolean isRead, CompletionStage<Void> previousStage)
EntryFactoryThe returned stage will always be complete if isOwner is false.
wrapEntryForWriting in interface EntryFactoryctx - current invocation contextkey - key to look up and wrapsegment - segment for the keyisOwner - true if this node is current owner in readCH (or we ignore CH)isRead - true if this operation is expected to read the value of the entrypreviousStage - if wrapping can't be performed synchronously, only access the invocation context
from another thread after this stage is completepublic void wrapEntryForExpired(InvocationContext ctx, Object key, int segment)
EntryFactorywrapEntryForExpired in interface EntryFactoryctx - current invocation contextkey - key to look up and wrapsegment - segment for the keypublic void wrapExternalEntry(InvocationContext ctx, Object key, CacheEntry externalEntry, boolean isRead, boolean isWrite)
EntryFactorywrapExternalEntry in interface EntryFactoryctx - current invocation contextkey - key to look up and wrapexternalEntry - the value to be inserted into contextisRead - true if this operation is expected to read the value of the entryisWrite - if this is executed within a write commandprotected MVCCEntry<?,?> createWrappedEntry(Object key, CacheEntry<?,?> cacheEntry)
Copyright © 2022 JBoss by Red Hat. All rights reserved.