如需最新的稳定版本,请使用 Spring Cloud Zookeeper 4.2.0spring-doc.cadn.net.cn

Spring Cloud Zookeeper 依赖项观察器

Dependency Watcher 机制允许您将侦听器注册到依赖项。这 功能实际上是Observer模式。当 依赖项更改、其状态 (UP 或 DOWN) ,可以应用一些自定义逻辑。spring-doc.cadn.net.cn

激活

需要启用 Spring Cloud Zookeeper 依赖项功能才能使用 Dependency Watcher 机制。spring-doc.cadn.net.cn

注册侦听器

要注册侦听器,您必须实现一个名为org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener和 将其注册为 Bean。该界面为您提供一种方法:spring-doc.cadn.net.cn

void stateChanged(String dependencyName, DependencyState newState);

如果要为特定依赖项注册侦听器,则dependencyName愿意 成为您具体实现的鉴别器。newState为您提供 有关依赖项是否已更改为CONNECTEDDISCONNECTED.spring-doc.cadn.net.cn

使用 Presence Checker

与 Dependency Watcher 绑定的是称为 Presence Checker 的功能。它让 您可以在应用程序启动时提供自定义行为,以根据状态 的依赖项。spring-doc.cadn.net.cn

抽象org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifierclass 是org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier, 其工作方式如下。spring-doc.cadn.net.cn

  1. 如果依赖项标记为 usrequired并且不在 Zookeeper 中,则当您的应用程序 boots,它会引发异常并关闭。spring-doc.cadn.net.cn

  2. 如果依赖项不是requiredorg.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker记录依赖项在WARN水平。spring-doc.cadn.net.cn

因为DefaultDependencyPresenceOnStartupVerifier仅当存在 没有 bean 类型DependencyPresenceOnStartupVerifier,此功能可以是 重写。spring-doc.cadn.net.cn