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/