Class LeaderInitiator
java.lang.Object
org.springframework.integration.zookeeper.leader.LeaderInitiator
- All Implemented Interfaces:
org.springframework.context.Lifecycle,org.springframework.context.Phased,org.springframework.context.SmartLifecycle
public class LeaderInitiator
extends java.lang.Object
implements org.springframework.context.SmartLifecycle
Bootstrap leadership
candidates
with ZooKeeper/Curator. Upon construction, start() must be invoked to
register the candidate for leadership election.- Since:
- 4.2
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classLeaderInitiator.LeaderListenerImplementation of Curator leadership election listener. -
Field Summary
-
Constructor Summary
Constructors Constructor Description LeaderInitiator(org.apache.curator.framework.CuratorFramework client, org.springframework.integration.leader.Candidate candidate)Construct aLeaderInitiator.LeaderInitiator(org.apache.curator.framework.CuratorFramework client, org.springframework.integration.leader.Candidate candidate, java.lang.String namespace)Construct aLeaderInitiator. -
Method Summary
Modifier and Type Method Description org.springframework.integration.leader.ContextgetContext()The context of the initiator.intgetPhase()booleanisAutoStartup()booleanisRunning()voidsetAutoStartup(boolean autoStartup)voidsetLeaderEventPublisher(org.springframework.integration.leader.event.LeaderEventPublisher leaderEventPublisher)Sets theLeaderEventPublisher.voidsetPhase(int phase)voidstart()Start the registration of thecandidatefor leader election.voidstop()Stop the registration of thecandidatefor leader election.
-
Constructor Details
-
LeaderInitiator
public LeaderInitiator(org.apache.curator.framework.CuratorFramework client, org.springframework.integration.leader.Candidate candidate)Construct aLeaderInitiator.- Parameters:
client- Curator clientcandidate- leadership election candidate
-
LeaderInitiator
public LeaderInitiator(org.apache.curator.framework.CuratorFramework client, org.springframework.integration.leader.Candidate candidate, java.lang.String namespace)Construct aLeaderInitiator.- Parameters:
client- Curator clientcandidate- leadership election candidatenamespace- namespace base path in zookeeper
-
-
Method Details
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceorg.springframework.context.Lifecycle- Returns:
- true if leadership election for this
candidateis running
-
getPhase
public int getPhase()- Specified by:
getPhasein interfaceorg.springframework.context.Phased- Specified by:
getPhasein interfaceorg.springframework.context.SmartLifecycle
-
setPhase
public void setPhase(int phase)- Parameters:
phase- the phase- See Also:
SmartLifecycle
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartupin interfaceorg.springframework.context.SmartLifecycle
-
setAutoStartup
public void setAutoStartup(boolean autoStartup)- Parameters:
autoStartup- true to start automatically- See Also:
SmartLifecycle
-
start
public void start()Start the registration of thecandidatefor leader election.- Specified by:
startin interfaceorg.springframework.context.Lifecycle
-
stop
public void stop()Stop the registration of thecandidatefor leader election. If the candidate is currently leader, its leadership will be revoked.- Specified by:
stopin interfaceorg.springframework.context.Lifecycle
-
setLeaderEventPublisher
public void setLeaderEventPublisher(org.springframework.integration.leader.event.LeaderEventPublisher leaderEventPublisher)Sets theLeaderEventPublisher.- Parameters:
leaderEventPublisher- the event publisher
-
getContext
public org.springframework.integration.leader.Context getContext()The context of the initiator.- Returns:
- the context.
- Since:
- 5.0
-