最新の安定バージョンについては、Spring Cloud Zookeeper 5.0.2 を使用してください! |
Spring Cloud Zookeeper 依存関係ウォッチャー
依存関係ウォッチャーメカニズムを使用すると、リスナーを依存関係に登録できます。実際、この機能は Observer パターンの実装です。依存関係が変化し、その状態 (UP または DOWN) が変化すると、カスタムロジックを適用できます。
リスナーの登録
リスナーを登録するには、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 で、次のように動作します。
依存関係が
requiredとマークされており、Zookeeper ではない場合、アプリケーションは起動時に例外をスローしてシャットダウンします。依存関係が
requiredではない場合、org.springframework.cloud.zookeeper.discovery.watcher.presence.LogMissingDependencyCheckerは依存関係がWARNレベルで欠落していることをログに記録します。
DefaultDependencyPresenceOnStartupVerifier は、型 DependencyPresenceOnStartupVerifier の Bean が存在しない場合にのみ登録されるため、この機能はオーバーライドできます。