public class DistributedDurableExecutorService extends Object implements ManagedService, RemoteService, MigrationAwareService, SplitBrainProtectionAwareService
| Modifier and Type | Field and Description |
|---|---|
static String |
SERVICE_NAME |
| Constructor and Description |
|---|
DistributedDurableExecutorService(NodeEngineImpl 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 name,
boolean local)
Creates a distributed object on the local member only (when
local is
true), else cluster-wide. |
void |
destroyDistributedObject(String name,
boolean local)
Destroys a distributed object.
|
NodeEngine |
getNodeEngine() |
DurableExecutorPartitionContainer |
getPartitionContainer(int partitionId) |
String |
getSplitBrainProtectionName(String name)
Gets the name of the split brain protection associated with specified operation name.
|
void |
init(NodeEngine nodeEngine,
Properties properties)
Initializes this service.
|
boolean |
isShutdown(String name) |
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()
Resets this service back to its 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 service.
|
void |
shutdownExecutor(String name) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateDistributedObject, destroyDistributedObjectpublic static final String SERVICE_NAME
public DistributedDurableExecutorService(NodeEngineImpl nodeEngine)
public void init(NodeEngine nodeEngine, Properties properties)
ManagedServiceinit in interface ManagedServicenodeEngine - the NodeEngine that this service belongs toproperties - the Properties (can be used to pass settings to the service)public DurableExecutorPartitionContainer getPartitionContainer(int partitionId)
public NodeEngine getNodeEngine()
public void reset()
ManagedServiceTODO: what is the purpose of reset
reset in interface ManagedServicepublic void shutdown(boolean terminate)
ManagedServiceTODO: what is the purpose of the terminate variable
shutdown in interface ManagedServiceterminate - true to shut down this servicepublic DistributedObject createDistributedObject(String name, boolean local)
RemoteServicelocal is
true), else cluster-wide.createDistributedObject in interface RemoteServicename - the name for the created distributed objectlocal - when true then only perform required proxy creation
actions on the local member, otherwise perform cluster-wide
proxy creation.public void destroyDistributedObject(String name, boolean local)
RemoteServicedestroyDistributedObject in interface RemoteServicename - the name of the distributed object to destroypublic void shutdownExecutor(String name)
public boolean isShutdown(String name)
public Operation prepareReplicationOperation(PartitionReplicationEvent event)
MigrationAwareServiceThis 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 MigrationAwareServiceevent - replicationpublic void beforeMigration(PartitionMigrationEvent event)
MigrationAwareServiceService 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 MigrationAwareServiceevent - migration eventpublic void commitMigration(PartitionMigrationEvent event)
MigrationAwareServiceCommit is not expected to fail at this point, all exceptions will be suppressed and logged. Implementations of this method must be thread safe as this method may be called concurrently for different migrations on different partitions.
commitMigration in interface MigrationAwareServiceevent - migration eventpublic void rollbackMigration(PartitionMigrationEvent event)
MigrationAwareServiceRollback is not expected to fail at this point, all exceptions will be suppressed and logged. Implementations of this method must be thread safe as this method may be called concurrently for different migrations on different partitions.
rollbackMigration in interface MigrationAwareServiceevent - migration eventpublic String getSplitBrainProtectionName(String name)
SplitBrainProtectionAwareServicegetSplitBrainProtectionName in interface SplitBrainProtectionAwareServicename - the operation name for which the split brain protection name is returnedCopyright © 2019 Hazelcast, Inc.. All rights reserved.