2017-03-18 16 views
1

Spring Cloud Config用のカスタムEnvironmentRepositoryを作成する方法、git、svn、Vaultリポジトリが存在するため、それらを使用したくないという例がありますか? 1。たとえば、マップにすべてのプロパティを保存するだけの場合です。Spring Cloud Configカスタム環境リポジトリ

答えて

3

アプリケーションコンテキストでBeanとしてEnvironmentRepositoryの実装を提供します。 Springクラウド設定サーバーはそれを自動的に取得します。あなたが複数のEnvironmentRepository(Gitは、ボールト、ネイティブ...)あなたはまた、順序を指定するよう命じインターフェースを実装したいと思いを持っている場合

public class CustomEnvironmentRepository implements 
EnvironmentRepository 
{ 
    @Override 
    public Environment findOne(String application, String profile, String label) 
    { 
     Environment environment = new Environment(application, profile); 

     final Map<String, String> properties = loadYouProperties(); 
     environment.add(new PropertySource("mapPropertySource", properties)); 
     return environment; 
    } 
} 

注: はここに最小限の例です。

良いアプローチは、Springクラウド設定サーバーパッケージからVaultEnvironmentRepositoryのような既存のEnvironmentRepository実装をルックアップすることです。

+1

私はまた、ZooKeeper EnvironmentRepositoryを持つ小さなmavenのlibを、Spring Cloud Config Serverのプラグアンドプレイの依存関係として使用するために作成しました。 –

+1

私はここで似たようなことをしようとしていますが、うまくいきません。 https://stackoverflow.com/questions/48762915/custom-spring-config-environmentrepository-not-being-pickedupupを参照してください。 –

関連する問題