Spring Cloud Zookeeper 依赖监视器

依赖观察器机制允许您为您的依赖项注册监听器。此功能实际上是 Observer 模式的实现。当依赖项更改其状态(变为 UP 或 DOWN)时,可以应用一些自定义逻辑。

激活

您需要启用 Spring Cloud Zookeeper 依赖项功能才能使用依赖观察器机制。

注册监听器

要注册监听器,您必须实现名为 org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener 的接口,并将其注册为 bean。该接口为您提供一个方法

void stateChanged(String dependencyName, DependencyState newState);

如果您想为特定的依赖项注册监听器,dependencyName 将是您具体实现的判别器。newState 为您提供有关您的依赖项是否已更改为 CONNECTEDDISCONNECTED 的信息。

使用存在检查器

与依赖观察器绑定的是名为存在检查器的功能。它允许您在应用程序启动时提供自定义行为,以根据依赖项的状态做出反应。

抽象类 org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifier 的默认实现是 org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier,其工作方式如下。

  1. 如果依赖项被标记为 required 并且不在 Zookeeper 中,那么当您的应用程序启动时,它会抛出异常并关闭。

  2. 如果依赖项不是 required,则 org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker 会在 WARN 级别记录依赖项丢失。

由于 DefaultDependencyPresenceOnStartupVerifier 仅在不存在类型为 DependencyPresenceOnStartupVerifier 的 bean 时注册,因此此功能可以被覆盖。

© . This site is unofficial and not affiliated with VMware.