2017-03-18 1 views
1

Je me demande s'il existe un exemple de création d'un environnement EnvironmentRepository pour Spring Cloud Config, car il existe des dépôts git, svn, et vault, mais je ne veux pas les utiliser, j'ai besoin de mon custom un. Par exemple si je veux juste stocker toutes les propriétés dans une carte.Dépôt de l'environnement personnalisé de Spring Cloud Config

Répondre

3

Fournissez une implémentation de EnvironmentRepository en tant que bean dans votre contexte d'application. Le serveur de configuration de nuage de printemps le récupérera automatiquement. Voici un exemple minimaliste:

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; 
    } 
} 

Remarque si vous avez plusieurs EnvironmentRepository (Git, Vault, natif ...) vous auriez également besoin d'implémenter l'interface Ordonné pour spécifier un ordre.

Une bonne approche consiste à rechercher l'implémentation EnvironmentRepository existante comme VaultEnvironmentRepository à partir du package du serveur Spring config de cloud.

+1

J'ai également créé une petite bibliothèque maven avec un ZooKeeper EnvironmentRepository à utiliser en tant que dépendance plug and play pour Spring Cloud Config Server. Voir github.com/felixoldenburg/JonesEnvironmentRepository –

+1

J'essaie quelque chose de similaire ici - mais je ne travaille pas. Voir https://stackoverflow.com/questions/48762915/custom-spring-config-environmentrepository-not-being-picked-up –