public class RingbufferService extends Object implements ManagedService, RemoteService, MigrationAwareService
Ringbuffer.| Modifier and Type | Field and Description |
|---|---|
static String |
SERVICE_NAME |
static String |
TOPIC_RB_PREFIX
Prefix of ringbuffers that are created for topics.
|
| Constructor and Description |
|---|
RingbufferService(NodeEngineImpl nodeEngine) |
| Modifier and Type | Method and Description |
|---|---|
void |
addRingbuffer(String name,
RingbufferContainer ringbuffer) |
void |
beforeMigration(PartitionMigrationEvent partitionMigrationEvent)
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.
|
void |
destroyDistributedObject(String name)
Destroys a distributed object.
|
RingbufferContainer |
getContainer(String name) |
ConcurrentMap<String,RingbufferContainer> |
getContainers() |
void |
init(NodeEngine nodeEngine,
Properties properties)
Initializes this ManagedService
|
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.
|
public static final String TOPIC_RB_PREFIX
public static final String SERVICE_NAME
public RingbufferService(NodeEngineImpl nodeEngine)
public ConcurrentMap<String,RingbufferContainer> getContainers()
public DistributedObject createDistributedObject(String objectName)
RemoteServicecreateDistributedObject in interface RemoteServiceobjectName - the name for the created distributed objectpublic void destroyDistributedObject(String name)
RemoteServicedestroyDistributedObject in interface RemoteServicename - the name of the distributed object to destroypublic void init(NodeEngine nodeEngine, Properties properties)
ManagedServiceinit in interface ManagedServicenodeEngine - the NodeEngine that this ManagedService belongs to.properties - the Properties. Can be used to pass settings to the service.public void reset()
ManagedServicereset in interface ManagedServicepublic void shutdown(boolean terminate)
ManagedServiceshutdown in interface ManagedServiceterminate - true to shut down the ManagedServicepublic void beforeMigration(PartitionMigrationEvent partitionMigrationEvent)
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 MigrationAwareServicepartitionMigrationEvent - migration eventpublic 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 commitMigration(PartitionMigrationEvent event)
MigrationAwareServiceCommit is not expected to fail at this point, all exceptions will be suppressed and logged.
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.
rollbackMigration in interface MigrationAwareServiceevent - migration eventpublic RingbufferContainer getContainer(String name)
public void addRingbuffer(String name, RingbufferContainer ringbuffer)
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.