gpt4 book ai didi

java - Spring Integration Zookeeper - 我目前是领导者吗

转载 作者:行者123 更新时间:2023-11-30 06:47:48 25 4
gpt4 key购买 nike

在多个 Tomcat 实例上部署 Spring Integration 4.3.8 应用程序,并且该应用程序使用 org.springframework.integration:spring-integration-zookeeper:4.3.8.RELEASE 来运行多个 Tomcat 实例集群中的应用程序一次只有一个被选为领导者。

问题是,从应用程序内查询我当前是否是领导者的最简单方法是什么?我可以通过可用的 Curator/Zookeeper API 获取此信息吗?或者我是否需要创建某种事件监听器?

最佳答案

我希望您使用LeaderInitiator

当它被授予领导角色时,会发出一个OnGrantedEvent。它甚至有 Context 属性。而那个,反过来,有 isLeader() 状态。

您可以存储此对象以供将来使用,并在需要时检查是否是 isLeader()

自版本 5.0 LeaderInitiator 提供对上下文的直接访问:

/**
* The context of the initiator or null if not running.
* @return the context (or null if not running)
* @since 5.0
*/
public Context getContext() {
if (this.leaderSelector == null) {
return NULL_CONTEXT;
}
return this.context;
}

关于java - Spring Integration Zookeeper - 我目前是领导者吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43367019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com