実行中のSpring(起動)アプリケーションのすべてのプロパティプレースホルダとその解決された値をプロセス監視に使用したいと思います。最初のステップでは、ログに書き込むか、application.pidファイルに似た 'resolved.properties'ファイルを作成するだけです。 プロパティプレースホルダが使用されるすべてのプロパティ(暗黙的または明示的)を考慮する必要があります。Springプロパティのプレースホルダとその解決された値のリストを取得
動機:解決されたプロパティの値を知ることは、操作中に通常は困難です。システムプロパティまたはコマンドライン引数は「可視」ですが、コード内の非表示のデフォルト値(@Value("${timeout:30000}")
など)はわかりにくいです。私は "実行中のアプリケーションの設定はどのように見えるのですか?"という質問に答えることができるようにしたいと思います。一般的な方法で私は私の春のアプリケーションのすべてで使用することができます。
私はスプリングブート・アクチュエータ/ configpropsエンドポイントについて知っていますが、これには@ConfigurationProperties
しか含まれていません。プレースホルダが使われているすべてのプロパティのリストを取得したいと思います。
要件は新規ではないようです(hereまたはhereを参照)が、今日は適切な(手ごわい)方法があるのだろうかと思います。
ありません。現在、プロパティのすべての値をすべてのプロパティソースに渡って一覧表示する方法はありません。たとえば、実行時にプロパティが変更される可能性があるため、何も追加しないSpring Cloud Configの場合も同様です。 –
@M。 Deinumありがとう。実行時に設定が変わらないので、何も追加しないとは思わない。この機能は 'configprops'エンドポイントで提供されますが、' @ ConfigurationProperties'に限られています。この制限がなくなり、Springがすべてのプレースホルダとその(現在の)値へのアクセスを提供するなら、それは素晴らしいことでしょう。 – FrVaBe
プレースホルダのリストはなく、 'PropertySources'抽象化はそのようなことを提供しません。私はそれが偉大ではないと言っているわけではありませんが、現在はありません... –