Class AkkaEntityOwnershipService
java.lang.Object
org.opendaylight.controller.eos.akka.AkkaEntityOwnershipService
- All Implemented Interfaces:
AutoCloseable
,DataCenterControl
,GenericEntityOwnershipService<YangInstanceIdentifier,
,DOMEntity, DOMEntityOwnershipListener> DOMEntityOwnershipService
,OdlEntityOwnersService
,RpcService
@Singleton
public class AkkaEntityOwnershipService
extends Object
implements DOMEntityOwnershipService, DataCenterControl, AutoCloseable, OdlEntityOwnersService
DOMEntityOwnershipService implementation backed by native Akka clustering constructs. We use distributed-data
to track all registered candidates and cluster-singleton to maintain a single cluster-wide authority which selects
the appropriate owners.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AkkaEntityOwnershipService
(ActorSystem actorSystem, BindingCodecTree codecTree) AkkaEntityOwnershipService
(ActorSystemProvider actorProvider, RpcProviderService rpcProvider, BindingCodecTree codecTree) -
Method Summary
Modifier and TypeMethodDescriptionActivates the Entity Ownership Service in the datacenter that this method is called.void
close()
Deactivates the Entity Ownership Service in the datacenter that this method is called.getEntities
(GetEntitiesInput input) Invokeget-entities
RPC.getEntity
(GetEntityInput input) Invokeget-entity
RPC.Invokeget-entity-owner
RPC.getOwnershipState
(DOMEntity entity) boolean
isCandidateRegistered
(DOMEntity forEntity) registerCandidate
(DOMEntity entity) registerListener
(String entityType, DOMEntityOwnershipListener listener)
-
Field Details
-
ownerSupervisor
-
-
Constructor Details
-
AkkaEntityOwnershipService
protected AkkaEntityOwnershipService(ActorSystem actorSystem, BindingCodecTree codecTree) throws ExecutionException, InterruptedException -
AkkaEntityOwnershipService
@Inject public AkkaEntityOwnershipService(ActorSystemProvider actorProvider, RpcProviderService rpcProvider, BindingCodecTree codecTree) throws ExecutionException, InterruptedException
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
InterruptedException
ExecutionException
-
registerCandidate
public DOMEntityOwnershipCandidateRegistration registerCandidate(DOMEntity entity) throws CandidateAlreadyRegisteredException - Specified by:
registerCandidate
in interfaceDOMEntityOwnershipService
- Specified by:
registerCandidate
in interfaceGenericEntityOwnershipService<YangInstanceIdentifier,
DOMEntity, DOMEntityOwnershipListener> - Throws:
CandidateAlreadyRegisteredException
-
registerListener
public DOMEntityOwnershipListenerRegistration registerListener(String entityType, DOMEntityOwnershipListener listener) - Specified by:
registerListener
in interfaceDOMEntityOwnershipService
- Specified by:
registerListener
in interfaceGenericEntityOwnershipService<YangInstanceIdentifier,
DOMEntity, DOMEntityOwnershipListener>
-
getOwnershipState
- Specified by:
getOwnershipState
in interfaceDOMEntityOwnershipService
- Specified by:
getOwnershipState
in interfaceGenericEntityOwnershipService<YangInstanceIdentifier,
DOMEntity, DOMEntityOwnershipListener>
-
isCandidateRegistered
- Specified by:
isCandidateRegistered
in interfaceDOMEntityOwnershipService
- Specified by:
isCandidateRegistered
in interfaceGenericEntityOwnershipService<YangInstanceIdentifier,
DOMEntity, DOMEntityOwnershipListener>
-
activateDataCenter
Description copied from interface:DataCenterControl
Activates the Entity Ownership Service in the datacenter that this method is called.- Specified by:
activateDataCenter
in interfaceDataCenterControl
- Returns:
- Completion future
-
deactivateDataCenter
Description copied from interface:DataCenterControl
Deactivates the Entity Ownership Service in the datacenter that this method is called.- Specified by:
deactivateDataCenter
in interfaceDataCenterControl
- Returns:
- Completion future
-
getEntities
Description copied from interface:OdlEntityOwnersService
Invokeget-entities
RPC.- Specified by:
getEntities
in interfaceOdlEntityOwnersService
- Parameters:
input
- ofget-entities
- Returns:
- output of
get-entities
-
getEntity
Description copied from interface:OdlEntityOwnersService
Invokeget-entity
RPC.- Specified by:
getEntity
in interfaceOdlEntityOwnersService
- Parameters:
input
- ofget-entity
- Returns:
- output of
get-entity
-
getEntityOwner
Description copied from interface:OdlEntityOwnersService
Invokeget-entity-owner
RPC.- Specified by:
getEntityOwner
in interfaceOdlEntityOwnersService
- Parameters:
input
- ofget-entity-owner
- Returns:
- output of
get-entity-owner
-