SpringBoot-クラウド構成クライアント
一部のアプリケーションでは、変更が必要な構成プロパティが必要な場合があり、開発者はこれを実行するためにそれらを削除するか、アプリケーションを再起動する必要があります。ただし、これにより、本番環境でダウンタイムが発生し、アプリケーションを再起動する必要が生じる可能性があります。Spring Cloud Configuration Serverを使用すると、開発者はアプリケーションを再起動したり、ダウンタイムを発生させたりすることなく、新しい構成プロパティをロードできます。
SpringCloud構成サーバーの操作
まず、SpringBootプロジェクトをからダウンロードします https://start.spring.io/そして、Spring CloudConfigクライアントの依存関係を選択します。次に、ビルド構成ファイルにSpring Cloud StarterConfigの依存関係を追加します。
Mavenユーザーは、次の依存関係をpom.xmlファイルに追加できます。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
Gradleユーザーは、次の依存関係をに追加できます build.gradle ファイル。
compile('org.springframework.cloud:spring-cloud-starter-config')
次に、@ RefreshScopeアノテーションをメインのSpringBootアプリケーションに追加する必要があります。@RefreshScopeアノテーションは、構成サーバーから構成プロパティ値をロードするために使用されます。
package com.example.configclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
@SpringBootApplication
@RefreshScope
public class ConfigclientApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigclientApplication.class, args);
}
}
次に、構成サーバーのURLをapplication.propertiesファイルに追加し、アプリケーション名を指定します。
Note −構成クライアントアプリケーションを起動する前に、http:// localhost:8888構成サーバーを実行する必要があります。
spring.application.name = config-client
spring.cloud.config.uri = http://localhost:8888
構成サーバーからウェルカムメッセージを読み取るための単純なRESTエンドポイントを作成するためのコードを以下に示します。
package com.example.configclient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RefreshScope
@RestController
public class ConfigclientApplication {
@Value("${welcome.message}")
String welcomeText;
public static void main(String[] args) {
SpringApplication.run(ConfigclientApplication.class, args);
}
@RequestMapping(value = "/")
public String welcomeText() {
return welcomeText;
}
}
次のMavenまたはGradleコマンドを使用して、実行可能なJARファイルを作成し、SpringBootアプリケーションを実行できます。
Mavenの場合、以下に示すコマンドを使用できます-
mvn clean install
「BUILDSUCCESS」の後、JARファイルはターゲットディレクトリの下にあります。
Gradleの場合、以下に示すコマンドを使用できます-
gradle clean build
「BUILDSUCCESSFUL」の後、build / libsディレクトリの下にJARファイルがあります。
次に、次のコマンドを使用してJARファイルを実行します。
java –jar <JARFILE>
これで、アプリケーションは、ここに示すように、Tomcatポート8080で起動しました-
ログインコンソールウィンドウを見ることができます。config-clientアプリケーションはから構成をフェッチしていますhttps://localhost:8888
2017-12-08 12:41:57.682 INFO 1104 --- [
main] c.c.c.ConfigServicePropertySourceLocator :
Fetching config from server at: http://localhost:8888
今すぐURLを押してください http://localhost:8080/ ウェルカムメッセージは構成サーバーからロードされます。
次に、構成サーバーのプロパティ値を変更して、アクチュエーターのエンドポイントPOSTURLを押します。 http://localhost:8080/refresh URLの新しい構成プロパティ値を確認してください http://localhost:8080/