7. Spring Cloud Zookeeper 依赖项观察器
Dependency Watcher 机制允许您将侦听器注册到依赖项。这
功能实际上是Observator
模式。当
依赖项更改、其状态 (UP 或 DOWN) ,可以应用一些自定义逻辑。
7.1. 激活
需要启用 Spring Cloud Zookeeper 依赖项功能才能使用 Dependency Watcher 机制。
7.2. 注册侦听器
要注册侦听器,您必须实现一个名为org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener
和
将其注册为 Bean。该界面为您提供一种方法:
void stateChanged(String dependencyName, DependencyState newState);
如果要为特定依赖项注册侦听器,则dependencyName
愿意
成为您具体实现的鉴别器。newState
为您提供
有关依赖项是否已更改为CONNECTED
或DISCONNECTED
.
7.3. 使用 Presence Checker
与 Dependency Watcher 绑定的是称为 Presence Checker 的功能。它让 您可以在应用程序启动时提供自定义行为,以根据状态 的依赖项。
抽象org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifier
class 是org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier
,
其工作方式如下。
-
如果依赖项标记为 us
required
并且不在 Zookeeper 中,则当您的应用程序 boots,它会引发异常并关闭。 -
如果依赖项不是
required
这org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker
记录依赖项在WARN
水平。
因为DefaultDependencyPresenceOnStartupVerifier
仅当存在
没有 bean 类型DependencyPresenceOnStartupVerifier
,此功能可以是
重写。