Class ClusteringDependentLogic.AbstractClusteringDependentLogic
java.lang.Object
org.infinispan.interceptors.locking.ClusteringDependentLogic.AbstractClusteringDependentLogic
- All Implemented Interfaces:
ClusteringDependentLogic,PersistenceManager.StoreChangeListener
- Direct Known Subclasses:
ClusteringDependentLogic.DistributionLogic,ClusteringDependentLogic.InvalidationLogic,ClusteringDependentLogic.LocalLogic
- Enclosing interface:
- ClusteringDependentLogic
public abstract static class ClusteringDependentLogic.AbstractClusteringDependentLogic
extends Object
implements ClusteringDependentLogic, PersistenceManager.StoreChangeListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.interceptors.locking.ClusteringDependentLogic
ClusteringDependentLogic.AbstractClusteringDependentLogic, ClusteringDependentLogic.Commit, ClusteringDependentLogic.DistributionLogic, ClusteringDependentLogic.InvalidationLogic, ClusteringDependentLogic.LocalLogic, ClusteringDependentLogic.ReplicationLogic, ClusteringDependentLogic.ScatteredLogic -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ActivationManagerprotected CommitManagerprotected ComponentRegistryprotected Configurationprotected InternalDataContainer<Object,Object> protected DistributionManagerprotected EvictionManager<?,?> protected FunctionalNotifier<Object,Object> protected KeyPartitionerprotected KeyPartitionerprotected CacheNotifier<Object,Object> protected DataOperationOrdererprotected PersistenceManagerprotected org.infinispan.commons.time.TimeService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ClusteringDependentLogic.CommitclusterCommitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed) final CompletionStage<Void>commitEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation) Commits the entry to the data container.protected abstract CompletionStage<Void>commitSingleEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation) commitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed) Determines what type of commit this is.createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, TxInvocationContext context, VersionedPrepareCommand prepareCommand) final <K,V> EntryLoader<K, V> protected abstract WriteSkewHelper.KeySpecificLogicvoidstart()Starts the object - must be first wired via component registryvoidstop()voidstoreChanged(PersistenceStatus persistenceStatus) Notifies when a store was added or removed dynamically.
-
Field Details
-
componentRegistry
-
distributionManager
-
dataContainer
-
notifier
-
commitManager
-
persistenceManager
-
timeService
protected org.infinispan.commons.time.TimeService timeService -
functionalNotifier
-
configuration
-
keyPartitioner
-
evictionManager
-
orderer
-
activationManager
-
keyPartioner
-
-
Constructor Details
-
AbstractClusteringDependentLogic
public AbstractClusteringDependentLogic()
-
-
Method Details
-
start
public void start()Description copied from interface:ClusteringDependentLogicStarts the object - must be first wired via component registry- Specified by:
startin interfaceClusteringDependentLogic
-
stop
public void stop() -
storeChanged
Description copied from interface:PersistenceManager.StoreChangeListenerNotifies when a store was added or removed dynamically. This method is always invoked with mutual access to any other method inPersistenceManager. Implementations must only ensure visibility or atomicity of their own variables and operations.- Specified by:
storeChangedin interfacePersistenceManager.StoreChangeListener
-
createNewVersionsAndCheckForWriteSkews
public CompletionStage<Map<Object,IncrementableEntryVersion>> createNewVersionsAndCheckForWriteSkews(VersionGenerator versionGenerator, TxInvocationContext context, VersionedPrepareCommand prepareCommand) - Specified by:
createNewVersionsAndCheckForWriteSkewsin interfaceClusteringDependentLogic
-
commitEntry
public final CompletionStage<Void> commitEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation) Description copied from interface:ClusteringDependentLogicCommits the entry to the data container. The commit operation is always done synchronously in the current thread. However notifications for said operations can be performed asynchronously and the returned CompletionStage will complete when the notifications if any are completed.- Specified by:
commitEntryin interfaceClusteringDependentLogic- Returns:
- completion stage that is complete when all notifications for the commit are complete or null if already complete
-
commitSingleEntry
protected abstract CompletionStage<Void> commitSingleEntry(CacheEntry entry, FlagAffectedCommand command, InvocationContext ctx, Flag trackFlag, boolean l1Invalidation) -
clusterCommitType
protected ClusteringDependentLogic.Commit clusterCommitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed) -
commitType
public ClusteringDependentLogic.Commit commitType(FlagAffectedCommand command, InvocationContext ctx, int segment, boolean removed) Description copied from interface:ClusteringDependentLogicDetermines what type of commit this is. Whether we shouldn't commit, or if this is a commit due to owning the key or not- Specified by:
commitTypein interfaceClusteringDependentLogicsegment- if 0 or greater assumes the underlying container is segmented.- Returns:
-
initKeySpecificLogic
-
getCacheTopology
- Specified by:
getCacheTopologyin interfaceClusteringDependentLogic- Returns:
- information about the location of keys.
-
getAddress
- Specified by:
getAddressin interfaceClusteringDependentLogic
-
getEntryLoader
- Specified by:
getEntryLoaderin interfaceClusteringDependentLogic
-