以下は、スプリング ブート アプリケーションの application.properties です。
spring.application.name=test-service
server.port=8080
management.port=8081
management.context-path=/admin
spring.cloud.config.uri=http://localhost:8888
endpoints.refresh.enabled=true
endpoints.restart.enabled=true
アプリケーションを起動すると、config-server に接続し、期待どおりにプロパティをロードします。
構成サーバーのプロパティを変更し、次を使用してアプリケーションの更新をトリガーします
curl -X POST http://localhost:8081/admin/refresh
API は、変更されたプロパティの名前を出力します。
プロパティを取得すると、まだ古い値が表示されます
curl -X GET http://localhost:8081/admin/env/{property_name}
再起動をトリガーすると、新しいプロパティ値が取得されます
curl -X POST http://localhost:8081/admin/restart
を使用してプロパティ値を変更しようとすると、同じ動作が表示されます
curl -X POST http://localhost:8081/admin/env -d property1=123
プロパティ値を取得しようとすると、まだ古い値が表示されます
curl -X GET http://localhost:8081/admin/env/property1
management.port を 8080 (server.port と同じ) に変更すると、すべてが期待どおりに機能します。
この動作は予期されたものですか? 8080 で実行されているサーバー用と 8081 で実行されているサーバー用の 2 つの異なる環境を変更しているように見えます。