私はこのリンクをたどっています: http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_client_side_usage
これを何度もテストしましたが、Springクラウドクライアントがクラウドサーバーから構成を読み込んでいることがわかりません。エラーがどこにあるかを確認してください。
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>
応用:
@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.properties:spring.cloud.config.uri = http:// localhost:8888
構成サーバーは適切です: http:// localhost:8888/spiritent/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 "}}]}
現在 http:// localhost:8080 / まったく開始できません。
'configclientApplication'という名前のBeanの作成中にエラーが発生しました@Valueの自動注入でproduction.Host環境の値が見つからないようです。
構成サーバーからロードされた後、クライアントで構成を読み取るにはどうすればよいですか?
ご協力いただきありがとうございます。
Deinumが示唆しているように、クライアントがparentをspring-cloud-starter-parentとして構成されていることを確認し、バージョンを指定します。 Spring Cloudが提供するMavenプラグインは、依存関係に含め、クラウドがブートとは異なるプロジェクトであることを覚えていると機能しません。次のように変更します。
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>1.0.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
次に、新しい分野として(おそらくここでは問題ではない)、@ Configurationと@EnableAutoConfigurationの代わりにアプリケーションで新しいアノテーションを使用します
@SpringBootApplication
第三に、構成サーバーに@EnableConfigServerがあることを再確認します
第4に、クライアントのbootstrap.propertiesにSpringアプリケーション名が指定されていることを確認してください。
spring.application.name=spirent
最後に、spring-cloud-configサンプルプロジェクトを使用した場合、URIに設定する必要のあるデフォルトのユーザーとセキュリティパスワードがあります。
http://user:ddf4757e-0077-42e4-b2ad-2ae04340b08c@localhost:8888
それ以外の場合は、ここにあるspring-cloud-configプロジェクトから開始して、構成サーバーが正しくセットアップされていることを確認してください。
https://github.com/spring-cloud/spring-cloud-config