依赖项观察程序机制允许您将侦听器注册到依赖项。这 事实上,功能是模式的实现。当一个 依赖项更改,其状态(UP 或 DOWN),可以应用一些自定义逻辑。ObserverSpring中文文档

激活

需要启用 Spring Cloud Zookeeper 依赖项功能,才能使用 依赖项观察程序机制。Spring中文文档

注册侦听器

要注册侦听器,必须实现一个名为 和 将其注册为 Bean。该接口为您提供了一种方法:org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListenerSpring中文文档

void stateChanged(String dependencyName, DependencyState newState);

如果要为特定依赖项注册侦听器,则 成为您具体实施的鉴别器。 为您提供 有关依赖项是否已更改为 或 .dependencyNamenewStateCONNECTEDDISCONNECTEDSpring中文文档

使用状态检查器

与依赖关系观察程序绑定的是称为“状态检查器”的功能。它让 在应用程序启动时提供自定义行为,以便根据状态做出反应 的依赖项。Spring中文文档

抽象类的默认实现是 , 其工作方式如下。org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifierorg.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifierSpring中文文档

  1. 如果依赖项标记为 us 并且不在 Zookeeper 中,当您的应用程序 启动,它会抛出异常并关闭。requiredSpring中文文档

  2. 如果依赖项不是 ,则记录该依赖项在级别上缺失的日志。requiredorg.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyCheckerWARNSpring中文文档

因为只有在有 没有 bean 类型,此功能可以是 重写。DefaultDependencyPresenceOnStartupVerifierDependencyPresenceOnStartupVerifierSpring中文文档