Spring Cloud Zookeeper 依赖项观察器
Dependency Watcher 机制允许您将侦听器注册到依赖项。这
功能实际上是 Pattern 的实现。当
依赖项更改、其状态 (UP 或 DOWN) ,可以应用一些自定义逻辑。Observer
注册侦听器
要注册侦听器,必须实现一个名为 和
将其注册为 Bean。该界面为您提供一种方法:org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener
void stateChanged(String dependencyName, DependencyState newState);
如果你想为特定的依赖项注册一个侦听器,那么 would
成为您具体实现的鉴别器。 为您提供
有关依赖项是否已更改为 OR 的信息。dependencyName
newState
CONNECTED
DISCONNECTED
使用 Presence Checker
与 Dependency Watcher 绑定的是称为 Presence Checker 的功能。它让 您可以在应用程序启动时提供自定义行为,以根据状态 的依赖项。
抽象类的默认实现是 ,
其工作方式如下。org.springframework.cloud.zookeeper.discovery.watcher.presence.DependencyPresenceOnStartupVerifier
org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier
-
如果依赖项标记为 us 但不在 Zookeeper 中,则当您的应用程序 boots,它会引发异常并关闭。
required
-
如果 dependency 不是 ,则记录该级别缺少该 dependency 的日志。
required
org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker
WARN
因为 只有在存在
no bean 类型的 ,此功能可以是
重写。DefaultDependencyPresenceOnStartupVerifier
DependencyPresenceOnStartupVerifier