public final class LockServiceImpl extends Object implements LockService, ManagedService, RemoteService, MembershipAwareService, MigrationAwareService, ClientAwareService
SERVICE_NAME
Constructor and Description |
---|
LockServiceImpl(NodeEngine nodeEngine) |
Modifier and Type | Method and Description |
---|---|
void |
beforeMigration(PartitionMigrationEvent partitionMigrationEvent)
Called before migration process starts, on both source and destination members.
|
void |
clearLockStore(int partitionId,
ObjectNamespace namespace) |
void |
clientDisconnected(String clientUuid)
Invoked when a client disconnects from a member.
|
void |
commitMigration(PartitionMigrationEvent event)
Commits the migration process for this service, on both source and destination members.
|
DistributedObject |
createDistributedObject(String objectId)
Creates a distributed object.
|
LockStore |
createLockStore(int partitionId,
ObjectNamespace namespace) |
void |
destroyDistributedObject(String objectId)
Destroys a distributed object.
|
Collection<LockResource> |
getAllLocks() |
LockStoreContainer |
getLockContainer(int partitionId) |
LockStoreImpl |
getLockStore(int partitionId,
ObjectNamespace namespace) |
long |
getMaxLeaseTimeInMillis() |
static long |
getMaxLeaseTimeInMillis(HazelcastProperties hazelcastProperties) |
void |
init(NodeEngine nodeEngine,
Properties properties)
Initializes this ManagedService
|
void |
memberAdded(MembershipServiceEvent event)
Invoked when a new member is added to the cluster.
|
void |
memberAttributeChanged(MemberAttributeServiceEvent event)
Invoked when a member attribute is changed.
|
void |
memberRemoved(MembershipServiceEvent event)
Invoked when an existing member leaves the cluster.
|
Operation |
prepareReplicationOperation(PartitionReplicationEvent event)
Returns an operation to replicate service data and/or state for a specific partition replica
on another cluster member.
|
void |
registerLockStoreConstructor(String serviceName,
ConstructorFunction<ObjectNamespace,LockStoreInfo> constructorFunction) |
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 LockServiceImpl(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 reset()
ManagedService
reset
in interface ManagedService
public void shutdown(boolean terminate)
ManagedService
shutdown
in interface ManagedService
terminate
- true to shut down the ManagedServicepublic long getMaxLeaseTimeInMillis()
getMaxLeaseTimeInMillis
in interface LockService
public void registerLockStoreConstructor(String serviceName, ConstructorFunction<ObjectNamespace,LockStoreInfo> constructorFunction)
registerLockStoreConstructor
in interface LockService
public LockStore createLockStore(int partitionId, ObjectNamespace namespace)
createLockStore
in interface LockService
public void clearLockStore(int partitionId, ObjectNamespace namespace)
clearLockStore
in interface LockService
public LockStoreContainer getLockContainer(int partitionId)
public LockStoreImpl getLockStore(int partitionId, ObjectNamespace namespace)
public void memberAdded(MembershipServiceEvent event)
MembershipAwareService
memberAdded
in interface MembershipAwareService
event
- the event for a new member added to the clusterpublic void memberRemoved(MembershipServiceEvent event)
MembershipAwareService
memberRemoved
in interface MembershipAwareService
event
- the event for an existing member leaving the clusterpublic void memberAttributeChanged(MemberAttributeServiceEvent event)
MembershipAwareService
memberAttributeChanged
in interface MembershipAwareService
event
- the event for a member attribute being changedpublic Collection<LockResource> getAllLocks()
getAllLocks
in interface LockService
public void beforeMigration(PartitionMigrationEvent partitionMigrationEvent)
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
partitionMigrationEvent
- migration eventpublic 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 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 DistributedObject createDistributedObject(String objectId)
RemoteService
createDistributedObject
in interface RemoteService
objectId
- the name for the created distributed objectpublic void destroyDistributedObject(String objectId)
RemoteService
destroyDistributedObject
in interface RemoteService
objectId
- the name of the distributed object to destroypublic void clientDisconnected(String clientUuid)
ClientAwareService
clientDisconnected
in interface ClientAwareService
clientUuid
- the Uuid of the client that disconnected from a memberpublic static long getMaxLeaseTimeInMillis(HazelcastProperties hazelcastProperties)
Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.