Consulは、分散構成センターを実現するためのキーと値のペアを格納するために使用され、構成センターサービスを再起動せずに更新された属性を読み取る機能をサポートします。
以前の開発に基づいて、わずかな調整が行われ、ログサービスのみが一時的に調整されます。
1.ログサービスにMavenの依存関係を追加します
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
2.構成ファイルを調整し、ポート番号を削除します。最後の2行を少なくすることはできません。そうしないと、エラーが報告されます。
spring:
application:
name: logservice
profiles:
active: dev
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: logservice
config:
enabled: true
format: yaml
prefixes: config
defaultContext: application
profileSeparator: ','
data-key: data
config:
import: optional:consul:localhost:8500
3.領事管理ページでキーと値のペアを追加します。
[キー/値]メニューをクリックし、[作成]ボタンをクリックすると、次のページがポップアップ表示されます。
2つの場所に記入する必要があります、
そもそも:キーまたはフォルダのテキストボックス:
この場所は非常に重要であり、ここに次のように記述されている構成ファイルと一致している必要があります。
config / application、dev / data
構成ファイルのいくつかの場所と一致しています:
prefixes: config
defaultContext: application
profileSeparator: ','
data-key: data
2番目の値の部分は、構成ファイルの設定形式がyamlであるため、次のようにいくつかの属性値を追加します:
サーバー:
ポート:8081
ログ:
テスト:こんにちは
次に、保存ボタンをクリックして保存します。問題がなければ、成功のプロンプトが表示されます。キーが保存されました。
4.ログサービスを開始しますが、構成が成功したことを示すエラーは報告されません。
5.ログサービスhttp:// localhost:8081 / logにアクセスします。ポート番号は、有効にするために構成センターから読み取られています。
6.APIインターフェースをログサービスに追加します。
@Value("${log.test}")
String hello;
@GetMapping("/data")
public String data() {
return hello;
}
7.ブラウザーはインターフェースhttp:// localhost:8081 / dataにアクセスし、helloを返します。これは、構成センターからの読み取りが成功したことを示します。
8. APIインターフェースのControllerクラスに以下のアノテーションを追加することにより、属性構成が更新された後、構成サービスを再起動せずに有効になります。
@RefreshScope