对于最新的稳定版本,请使用 Spring Cloud Zookeeper 4.3.0! |
Spring Cloud Zookeeper 依赖项观察器
依赖项观察器机制允许您将侦听器注册到依赖项。这
功能实际上是Observer
模式。当
依赖项更改,其状态(为 UP 或 DOWN),可以应用一些自定义逻辑。
注册侦听器
要注册侦听器,您必须实现一个名为org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener
和
将其注册为 bean。该接口为您提供了一种方法:
void stateChanged(String dependencyName, DependencyState newState);
如果要为特定依赖项注册侦听器,则dependencyName
愿意
成为您具体实施的鉴别者。newState
为您提供
有关依赖项是否已更改为CONNECTED
或DISCONNECTED
.
使用状态检查器
与依赖项观察程序绑定的是称为状态检查器的功能。它让 在应用程序启动时提供自定义行为,以根据状态做出反应 您的依赖关系。
抽象的默认实现org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifier
class 是org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier
,
其工作方式如下。
-
如果依赖项标记为
required
并且不在 Zookeeper 中,当您的应用程序 boots,它会抛出异常并关闭。 -
如果依赖项不是
required
这org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker
日志中缺少依赖项WARN
水平。
因为DefaultDependencyPresenceOnStartupVerifier
仅当有
没有类型的 beanDependencyPresenceOnStartupVerifier
,此功能可以是
重写。