public class ReplicatedMapService extends Object implements ManagedService, RemoteService, EventPublishingService<Object,Object>, MigrationAwareService, SplitBrainHandlerService, StatisticsAwareService
PartitionContainer
s that actually hold the dataModifier and Type | Field and Description |
---|---|
static int |
INVOCATION_TRY_COUNT |
static String |
SERVICE_NAME |
Constructor and Description |
---|
ReplicatedMapService(NodeEngine nodeEngine) |
Modifier and Type | Method and Description |
---|---|
void |
beforeMigration(PartitionMigrationEvent event)
Called before migration process starts, on both source and destination members.
|
void |
commitMigration(PartitionMigrationEvent event)
Commits the migration process for this service, on both source and destination members.
|
DistributedObject |
createDistributedObject(String objectName)
Creates a distributed object.
|
LocalReplicatedMapStatsImpl |
createReplicatedMapStats(String name) |
void |
destroyDistributedObject(String objectName)
Destroys a distributed object.
|
void |
dispatchEvent(Object event,
Object listener) |
Collection<ReplicatedRecordStore> |
getAllReplicatedRecordStores(String name) |
ReplicatedMapEventPublishingService |
getEventPublishingService() |
LocalReplicatedMapStatsImpl |
getLocalMapStatsImpl(String name) |
NodeEngine |
getNodeEngine() |
PartitionContainer |
getPartitionContainer(int partitionId) |
ReplicatedMapConfig |
getReplicatedMapConfig(String name) |
ReplicatedRecordStore |
getReplicatedRecordStore(String name,
boolean create,
int partitionId) |
ReplicatedRecordStore |
getReplicatedRecordStore(String name,
boolean create,
Object key) |
Map<String,LocalReplicatedMapStats> |
getStats() |
void |
init(NodeEngine nodeEngine,
Properties properties)
Initializes this ManagedService
|
void |
initializeListeners(String name) |
Runnable |
prepareMergeRunnable()
When the 2 separate clusters merge (resolve a split brain), this method is called to return
a Runnable that will merge the clusters.
|
Operation |
prepareReplicationOperation(PartitionReplicationEvent event)
Returns an operation to replicate service data and/or state for a specific partition replica
on another cluster member.
|
void |
reset()
reset this ManagedService back to initial state.
|
void |
rollbackMigration(PartitionMigrationEvent event)
Rollback the migration process for this service, on both source and destination members.
|
void |
shutdown(boolean terminate)
Shuts down this ManagedService.
|
void |
triggerAntiEntropy()
Send an operation to all replicas to check their replica versions for all partitions for which this node is the owner
|
public static final String SERVICE_NAME
public static final int INVOCATION_TRY_COUNT
public ReplicatedMapService(NodeEngine nodeEngine)
public void init(NodeEngine nodeEngine, Properties properties)
ManagedService
init
in interface ManagedService
nodeEngine
- the NodeEngine that this ManagedService belongs to.properties
- the Properties. Can be used to pass settings to the service.public void triggerAntiEntropy()
public void reset()
ManagedService
reset
in interface ManagedService
public void shutdown(boolean terminate)
ManagedService
shutdown
in interface ManagedService
terminate
- true to shut down the ManagedServicepublic LocalReplicatedMapStatsImpl getLocalMapStatsImpl(String name)
public LocalReplicatedMapStatsImpl createReplicatedMapStats(String name)
public DistributedObject createDistributedObject(String objectName)
RemoteService
createDistributedObject
in interface RemoteService
objectName
- the name for the created distributed objectpublic void destroyDistributedObject(String objectName)
RemoteService
destroyDistributedObject
in interface RemoteService
objectName
- the name of the distributed object to destroypublic void dispatchEvent(Object event, Object listener)
dispatchEvent
in interface EventPublishingService<Object,Object>
public ReplicatedMapConfig getReplicatedMapConfig(String name)
public ReplicatedRecordStore getReplicatedRecordStore(String name, boolean create, Object key)
public ReplicatedRecordStore getReplicatedRecordStore(String name, boolean create, int partitionId)
public Collection<ReplicatedRecordStore> getAllReplicatedRecordStores(String name)
public void initializeListeners(String name)
public PartitionContainer getPartitionContainer(int partitionId)
public NodeEngine getNodeEngine()
public ReplicatedMapEventPublishingService getEventPublishingService()
public Operation prepareReplicationOperation(PartitionReplicationEvent event)
MigrationAwareService
This method will be called on source member whenever partitioning system requires to copy/replicate a partition replica. Returned operation will be executed on destination member. If operation fails by throwing exception, migration process will fail and will be rolled back.
Returning null is allowed and means service does not have anything to replicate.
prepareReplicationOperation
in interface MigrationAwareService
event
- replicationpublic void beforeMigration(PartitionMigrationEvent event)
MigrationAwareService
Service can take actions required before migration. Migration process will block until this method returns. If this method fails by throwing an exception, migration process for specific partition will fail and will be rolled back.
beforeMigration
in interface MigrationAwareService
event
- migration eventpublic void commitMigration(PartitionMigrationEvent event)
MigrationAwareService
Commit is not expected to fail at this point, all exceptions will be suppressed and logged.
commitMigration
in interface MigrationAwareService
event
- migration eventpublic void rollbackMigration(PartitionMigrationEvent event)
MigrationAwareService
Rollback is not expected to fail at this point, all exceptions will be suppressed and logged.
rollbackMigration
in interface MigrationAwareService
event
- migration eventpublic Runnable prepareMergeRunnable()
SplitBrainHandlerService
prepareMergeRunnable
in interface SplitBrainHandlerService
public Map<String,LocalReplicatedMapStats> getStats()
getStats
in interface StatisticsAwareService
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.