これまでに実装したものは次のとおりです。
- 「ネイティブ」リポジトリを持つ Spring Cloud Config サーバー。
spring.profiles.active: native
spring.cloud.config.server.native.searchLocations: file:/path/to/config-repo
構成サーバーは、 http: //cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_push_notifications_and_spring_cloud_bus として、RabbitMQ を介して構成クライアント アプリに通知をプッシュしています。
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 サーバーを呼び出すタスクをスケジュールすることはできますが、これは理想的ではありません。)