Store
- type of the store in a partitionpublic abstract class AbstractMergeRunnable<Store,MergingItem> extends Object implements Runnable, Disposable
ICache
and IMap
to provide a shared merge runnable for SplitBrainHandlerService.prepareMergeRunnable()
.Modifier | Constructor and Description |
---|---|
protected |
AbstractMergeRunnable(String serviceName,
Map<String,Collection<Store>> collectedStores,
Map<String,Collection<Store>> collectedStoresWithLegacyPolicies,
Collection<Store> backupStores,
NodeEngine nodeEngine) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
consumeStore(Store recordStore,
BiConsumer<Integer,MergingItem> consumer)
Use to merge with policies which are a type of
SplitBrainMergePolicy |
protected abstract void |
consumeStoreLegacy(Store recordStore,
BiConsumer<Integer,Operation> consumer)
Use to merge with legacy merge policies
|
protected abstract OperationFactory |
createMergeOperationFactory(String dataStructureName,
SplitBrainMergePolicy mergePolicy,
int[] partitions,
List<MergingItem>[] entries)
Returned
OperationFactory is used for
SplitBrainMergePolicy types, legacy ones don't use this method. |
protected abstract void |
destroyStores(Collection<Store> stores)
Destroy a collection of stores
|
void |
dispose()
Disposes this object and releases any data and/or resources associated
with it.
|
protected abstract int |
getBatchSize(String dataStructureName)
This batch size can only be used when merge policy is
a type of
SplitBrainMergePolicy , legacy merge policies
don't support batch data sending. |
protected abstract InMemoryFormat |
getInMemoryFormat(String dataStructureName) |
protected abstract Object |
getMergePolicy(String dataStructureName) |
protected InternalSerializationService |
getSerializationService() |
void |
run() |
protected Data |
toData(Object object) |
protected AbstractMergeRunnable(String serviceName, Map<String,Collection<Store>> collectedStores, Map<String,Collection<Store>> collectedStoresWithLegacyPolicies, Collection<Store> backupStores, NodeEngine nodeEngine)
public final void dispose()
Disposable
dispose
in interface Disposable
protected InternalSerializationService getSerializationService()
protected abstract void destroyStores(Collection<Store> stores)
protected abstract void consumeStore(Store recordStore, BiConsumer<Integer,MergingItem> consumer)
SplitBrainMergePolicy
protected abstract void consumeStoreLegacy(Store recordStore, BiConsumer<Integer,Operation> consumer)
protected abstract int getBatchSize(String dataStructureName)
SplitBrainMergePolicy
, legacy merge policies
don't support batch data sending.MergePolicyConfig
protected abstract Object getMergePolicy(String dataStructureName)
SplitBrainMergePolicy
or a legacy merge policyprotected abstract InMemoryFormat getInMemoryFormat(String dataStructureName)
protected abstract OperationFactory createMergeOperationFactory(String dataStructureName, SplitBrainMergePolicy mergePolicy, int[] partitions, List<MergingItem>[] entries)
OperationFactory
is used for
SplitBrainMergePolicy
types, legacy ones don't use this method.Copyright © 2018 Hazelcast, Inc.. All Rights Reserved.