最新の安定バージョンについては、Spring Cloud Zookeeper 5.0.2 を使用してください!

Spring Cloud Zookeeper 依存関係ウォッチャー

依存関係ウォッチャーメカニズムを使用すると、リスナーを依存関係に登録できます。実際、この機能は Observer パターンの実装です。依存関係が変化し、その状態 (UP または DOWN) が変化すると、カスタムロジックを適用できます。

アクティブ化

Spring Cloud Zookeeper 依存関係ウォッチャーメカニズムを使用するには、依存関係機能を有効にする必要があります。

リスナーの登録

リスナーを登録するには、org.springframework.cloud.zookeeper.discovery.watcher.DependencyWatcherListener というインターフェースを実装し、それを Bean として登録する必要があります。このインターフェースには 1 つのメソッドが用意されています。

void stateChanged(String dependencyName, DependencyState newState);

特定の依存関係のリスナーを登録する場合、dependencyName が具体的な実装の識別子になります。newState は、依存関係が CONNECTED または DISCONNECTED に変更されたかどうかに関する情報を提供します。

プレゼンスチェッカーの使用

dependency Watcher には、Presence Checker と呼ばれる機能が関連付けられています。これにより、アプリケーションの起動時に、依存関係の状態に応じて反応するカスタム動作を提供できます。

抽象 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 が存在しない場合にのみ登録されるため、この機能はオーバーライドできます。