public class HighAvailabilityMemberStateMachine extends org.neo4j.kernel.lifecycle.LifecycleAdapter implements HighAvailability
HighAvailabilityMemberState. Internal services
that wants to know what is going on should register HighAvailabilityMemberListener implementations
which will receive callbacks on state changes.
HA in Neo4j is built on top of the clustering functionality. So, this state machine essentially reacts to cluster events, and implements the rules for how HA roles should change, for example, the cluster coordinator should become the HA master.
| Modifier and Type | Field and Description |
|---|---|
static org.neo4j.kernel.AvailabilityGuard.AvailabilityRequirement |
AVAILABILITY_REQUIREMENT |
| Constructor and Description |
|---|
HighAvailabilityMemberStateMachine(HighAvailabilityMemberContext context,
org.neo4j.kernel.AvailabilityGuard availabilityGuard,
ObservedClusterMembers members,
org.neo4j.cluster.member.ClusterMemberEvents events,
org.neo4j.cluster.protocol.election.Election election,
org.neo4j.logging.LogProvider logProvider) |
| Modifier and Type | Method and Description |
|---|---|
void |
addHighAvailabilityMemberListener(HighAvailabilityMemberListener toAdd) |
HighAvailabilityMemberState |
getCurrentState() |
void |
init() |
boolean |
isMaster() |
void |
removeHighAvailabilityMemberListener(HighAvailabilityMemberListener toRemove) |
void |
stop() |
public static final org.neo4j.kernel.AvailabilityGuard.AvailabilityRequirement AVAILABILITY_REQUIREMENT
public HighAvailabilityMemberStateMachine(HighAvailabilityMemberContext context, org.neo4j.kernel.AvailabilityGuard availabilityGuard, ObservedClusterMembers members, org.neo4j.cluster.member.ClusterMemberEvents events, org.neo4j.cluster.protocol.election.Election election, org.neo4j.logging.LogProvider logProvider)
public void init()
throws Throwable
init in interface org.neo4j.kernel.lifecycle.Lifecycleinit in class org.neo4j.kernel.lifecycle.LifecycleAdapterThrowablepublic void stop()
throws Throwable
stop in interface org.neo4j.kernel.lifecycle.Lifecyclestop in class org.neo4j.kernel.lifecycle.LifecycleAdapterThrowablepublic void addHighAvailabilityMemberListener(HighAvailabilityMemberListener toAdd)
addHighAvailabilityMemberListener in interface HighAvailabilitypublic void removeHighAvailabilityMemberListener(HighAvailabilityMemberListener toRemove)
removeHighAvailabilityMemberListener in interface HighAvailabilitypublic HighAvailabilityMemberState getCurrentState()
public boolean isMaster()
Copyright © 2002–2019 The Neo4j Graph Database Project. All rights reserved.