Spring Cloud Zookeeper依赖关系观察者
优质
小牛编辑
130浏览
2023-12-01
依赖关系观察器机制允许您将侦听器注册到依赖关系中。功能实际上是Observator
模式的实现。当依赖关系改变其状态(UP或DOWN)时,可以应用一些自定义逻辑。
如何激活
Spring Cloud Zookeeper依赖关系功能需要启用从依赖关系观察器机制中获利。
注册听众
为了注册一个监听器,你必须实现一个接口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
类的默认实现是org.springframework.cloud.zookeeper.discovery.watcher.presence.DefaultDependencyPresenceOnStartupVerifier
,它以以下方式工作。
- 如果依赖关系标记为我们
required
,并且不在Zookeeper中,则在引导时,您的应用程序将抛出异常并关闭 - 如果依赖关系不是
required
,org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyChecker
将在WARN
级别上记录该应用程序
功能可以被覆盖,因为只有当没有DependencyPresenceOnStartupVerifier
的bean时才会注册DefaultDependencyPresenceOnStartupVerifier
。