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.