printemps cloud config client n'est pas d'chargement de la configuration à partir du serveur de configuration
Je suis en suivant ce lien:
http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage
J'ai testé encore et encore et ne pas voir le Printemps cloud client est le chargement de la configuration de serveur cloud, s'il vous plaît aider à voir où est l'erreur:
POM:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
Application:
@Configuration
@EnableAutoConfiguration
@RestController
public class ConfigclientApplication {
@Value("${spring.cloud.config.uri}")
String url;
@Value("${production.host}")
String host;
@RequestMapping("/")
public String home() {
return "Host is => " + this.host ;
}
public static void main(String[] args) {
SpringApplication.run(ConfigclientApplication.class, args);
}
}
bootstrap.propriétés:
printemps.le cloud.config.uri=http://localhost:8888
- Le serveur de configuration est bonne:
http://localhost:8888/spirent/default{"name":"spirent","profiles":["default"],"label":"master","propertySources":[{"name":"classpath:/spirent.yml","source":{"production.host":"server1","production.port":9999,"production.value1":12345,"test.host":"server2.com","test.port":4444,"test.value":"hello123"}}]}
- maintenant http://localhost:8080/ ne peut pas être démarré.
Erreur lors de la création de haricots avec le nom "configclientApplication'
Il semblait que l'auto injecter de @Valeur ne peut trouver de la production.l'hôte de la valeur d'environnement.
Comment puis-je lire la configuration du client une fois chargé de config serveur?
Merci pour votre aide.
spring-cloud-starter
dépendance non la spring-cloud-config-client
. Pour l'application, il n'a pas d'importance où la configuration de vient de, ils sont seulement des propriétés auxquelles vous pouvez accéder comme tout autre bien, à travers l' Environment
ou avec @Value
.J'ai changé à la fois client ou le démarreur, mais ne peut pas trouver la valeur de configuration dans le fichier de configuration du serveur, une idée?
avez-vous été en mesure de résoudre le problème, le problème, je suis confronté à est les propriétés de config du serveur sont de commencer à lire à partir de la méthode si elle annotée avec @RequestMapping, mais pas autrement. pas sûr de ce qui peut être fait dans ce cas.
OriginalL'auteur user3006967 | 2015-05-03
Vous devez vous connecter pour publier un commentaire.
Comme Deinum l'indique, je voudrais vous assurer d'avoir le client configuré avec le parent, comme le printemps-cloud-starter-mère et de lui donner une version. Maven plugins fournis par le printemps cloud ne fonctionnent pas lorsque vous incluez dans vos dépendances et n'oubliez pas de nuage est un autre projet de démarrage. Modifier:
Deuxième, comme une nouvelle discipline (et probablement pas votre problème ici), j'aimerais utiliser la nouvelle annotation sur votre Demande au lieu de @Configuration et @EnableAutoConfiguration
Troisième, de vérifier si vous avez @EnableConfigServer sur votre serveur de configuration
Quatrième, assurez-vous que votre fichier d'amorçage.propriétés de votre client est votre source nom de l'application spécifiée:
Enfin, si vous avez utilisé le printemps-cloud-config exemple de projet, il y a un défaut de l'utilisateur et de mot de passe de sécurité que vous avez mis dans votre URI:
Sinon, essayez de démarrer à partir du printemps-cloud-config projet trouve ici à s'assurer de la config du serveur est configuré correctement:
Vous auriez accès à l'aide d'une déclaration de variable annoté avec
@Value("${my.otherprop}")
ou via une classe annotée avec@Component @ConfigurationProperties(prefix="my")
contenant une variable appelée 'otherprop'. Assurez-vous de marquer la réponse comme correcte pour les autres à voir.Je remarque aussi que
@Value
annoté variables ne se rafraîchir à moins que le printemps composante ils sont contenus dans a@RefreshScope
et un appel du client /de rafraîchissement d'extrémité est appelée. Ni@Value
ni@ConfigurationProperties
config valeurs se rafraîchir de la config du serveur lors de l' /env est appelé, comme il est écrit dans la documentation.Bonne réponse, @Valeur("${mon.otherprop}") est de travail.
Je pense que je suis absent quelque chose ici. Je suis ce code ici (github.com/spring-cloud-samples/svn-config-server) et le serveur de configuration est en cours d'exécution dans un autre hôte, j'ai donc modifié le fichier de bootstrap.yml et a souligné l'URI vers le nouvel hôte. Mon @Valeur ne fonctionne pas et le client de l'application ne démarre pas, "n'a pas Pu résoudre espace réservé".
OriginalL'auteur RubesMN