1

これまでに実装したものは次のとおりです。

  1. 「ネイティブ」リポジトリを持つ Spring Cloud Config サーバー。

spring.profiles.active: native

spring.cloud.config.server.native.searchLocations: file:/path/to/config-repo

  1. 構成サーバーは、 http: //cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_push_notifications_and_spring_cloud_bus として、RabbitMQ を介して構成クライアント アプリに通知をプッシュしています。

  2. Config Client App には、サービス Bean に @RefreshScope アノテーションが付けられています。

したがって、/config-repo には application.yaml、client.yaml、client.json の 3 つのファイルがあります。すべての yaml プロパティの変更は、Config Client App によって確実に自動リロードされます。ただし、client.json はそうではありませんでした。

https://github.com/spring-cloud/spring-cloud-config/issues/147に基づいて、 /{appname}/{profile} を使用して、構成サーバーへの REST API 呼び出しを介して構成クライアント アプリでファイルを取得できます。 /{ラベル}/client.json

質問は:

1) 構成サーバーは、このプレーン テキスト ファイルの変更を「ネイティブ」で監視していますか?

2) Config Client App は、更新後にこの client.json をどのように自動リロードできますか? (Config サーバーを呼び出すタスクをスケジュールすることはできますが、これは理想的ではありません。)

4

2 に答える 2