public abstract class CollectionService extends Object implements ManagedService, RemoteService, EventPublishingService<CollectionEvent,ItemListener<Data>>, TransactionalService, MigrationAwareService, QuorumAwareService, SplitBrainHandlerService
Modifier and Type | Field and Description |
---|---|
protected NodeEngine |
nodeEngine |
protected IPartitionService |
partitionService |
protected SerializationService |
serializationService |
Modifier | Constructor and Description |
---|---|
protected |
CollectionService(NodeEngine nodeEngine) |
Modifier and Type | Method and Description |
---|---|
void |
addContainer(String name,
CollectionContainer container) |
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.
|
void |
destroyDistributedObject(String name)
Destroys a distributed object.
|
void |
dispatchEvent(CollectionEvent event,
ItemListener<Data> listener)
Notifies the service of a published event.
|
abstract ConcurrentMap<String,? extends CollectionContainer> |
getContainerMap() |
protected Map<String,CollectionContainer> |
getMigrationData(PartitionReplicationEvent event) |
abstract CollectionContainer |
getOrCreateContainer(String name,
boolean backup) |
abstract String |
getServiceName() |
void |
init(NodeEngine nodeEngine,
Properties properties)
Initializes this service.
|
Runnable |
prepareMergeRunnable()
When the two separate clusters merge (resolve a split-brain), this method is called to return
a
Runnable , that will merge the clusters. |
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 |
rollbackTransaction(String transactionId) |
void |
shutdown(boolean terminate)
Shuts down this service.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createDistributedObject
createTransactionalObject
prepareReplicationOperation
getQuorumName
protected final NodeEngine nodeEngine
protected final SerializationService serializationService
protected final IPartitionService partitionService
protected CollectionService(NodeEngine nodeEngine)
public void init(NodeEngine nodeEngine, Properties properties)
ManagedService
init
in interface ManagedService
nodeEngine
- the NodeEngine that this service belongs toproperties
- the Properties (can be used to pass settings to the service)public void reset()
ManagedService
TODO: what is the purpose of reset
reset
in interface ManagedService
public void shutdown(boolean terminate)
ManagedService
TODO: what is the purpose of the terminate variable
shutdown
in interface ManagedService
terminate
- true
to shut down this servicepublic void destroyDistributedObject(String name)
RemoteService
destroyDistributedObject
in interface RemoteService
name
- the name of the distributed object to destroypublic abstract CollectionContainer getOrCreateContainer(String name, boolean backup)
public abstract ConcurrentMap<String,? extends CollectionContainer> getContainerMap()
public abstract String getServiceName()
public void dispatchEvent(CollectionEvent event, ItemListener<Data> listener)
EventPublishingService
dispatchEvent
in interface EventPublishingService<CollectionEvent,ItemListener<Data>>
event
- the published eventlistener
- the listener registered for this eventpublic void rollbackTransaction(String transactionId)
rollbackTransaction
in interface TransactionalService
public 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 eventprotected Map<String,CollectionContainer> getMigrationData(PartitionReplicationEvent event)
public void commitMigration(PartitionMigrationEvent event)
MigrationAwareService
Commit 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 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. Implementations of this method must be thread safe as this method may be called concurrently for different migrations on different partitions.
rollbackMigration
in interface MigrationAwareService
event
- migration eventpublic void addContainer(String name, CollectionContainer container)
public Runnable prepareMergeRunnable()
SplitBrainHandlerService
Runnable
, that will merge the clusters.prepareMergeRunnable
in interface SplitBrainHandlerService
Runnable
that will merge the clustersCopyright © 2021 Hazelcast, Inc.. All Rights Reserved.