Spring Cloud Zookeeper 依赖项观察器

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

激活

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

注册侦听器

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

void stateChanged(String dependencyName, DependencyState newState);

如果你想为特定的依赖项注册一个侦听器,那么 would 成为您具体实现的鉴别器。 为您提供 有关依赖项是否已更改为 OR 的信息。dependencyNamenewStateCONNECTEDDISCONNECTEDspring-doc.cn

使用 Presence Checker

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

抽象类的默认实现是 , 其工作方式如下。org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifierorg.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifierspring-doc.cn

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

  2. 如果 dependency 不是 ,则记录该级别缺少该 dependency 的日志。requiredorg.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyCheckerWARNspring-doc.cn

因为 只有在存在 no bean 类型的 ,此功能可以是 重写。DefaultDependencyPresenceOnStartupVerifierDependencyPresenceOnStartupVerifierspring-doc.cn